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