17cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller/* 27cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * Copyright (C) 2016 The Android Open Source Project 37cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * 47cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * Licensed under the Apache License, Version 2.0 (the "License"); 57cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * you may not use this file except in compliance with the License. 67cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * You may obtain a copy of the License at 77cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * 87cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * http://www.apache.org/licenses/LICENSE-2.0 97cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * 107cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * Unless required by applicable law or agreed to in writing, software 117cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * distributed under the License is distributed on an "AS IS" BASIS, 127cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * See the License for the specific language governing permissions and 147cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller * limitations under the License. 157cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller */ 167cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller 177cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fullerpackage libcore.java.util.function; 187cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller 197cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fullerimport junit.framework.TestCase; 207cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller 217cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fullerimport java.util.function.IntConsumer; 227cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller 237cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fullerpublic class IntConsumerTest extends TestCase { 247cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller 257cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller public void testAndThen() throws Exception { 267cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller StringBuilder sb = new StringBuilder(); 277cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller IntConsumer one = i -> sb.append("one:" + i + ","); 287cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller IntConsumer two = i -> sb.append("two:" + i); 297cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller 307cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller one.andThen(two).accept(1); 317cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller assertEquals("one:1,two:1", sb.toString()); 327cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller } 337cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller 347cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller public void testAndThen_null() throws Exception { 357cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller IntConsumer one = s -> {}; 367cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller try { 377cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller one.andThen(null); 387cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller fail(); 397cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller } catch (NullPointerException expected) {} 407cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller } 417cf6b7d47829942a72faf8c6525e403cd9f37e48Neil Fuller} 42