1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.io.function;
19
20 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertThrows;
23
24 import java.io.IOException;
25 import java.io.UncheckedIOException;
26 import java.util.Optional;
27 import java.util.concurrent.atomic.AtomicReference;
28
29 import org.junit.jupiter.api.Test;
30
31
32
33
34 class IOIntConsumerTest {
35
36 @Test
37 void testAccept() throws IOException {
38 assertDoesNotThrow(() -> IOIntConsumer.NOOP.accept(0));
39 assertDoesNotThrow(() -> IOIntConsumer.NOOP.accept('.'));
40 final AtomicReference<String> ref = new AtomicReference<>();
41 final IOIntConsumer consumer = s -> ref.set(s + "-");
42 consumer.accept(65);
43 assertEquals(65 + "-", ref.get());
44 }
45
46 @Test
47 void testAndThen() throws IOException {
48 final AtomicReference<String> ref = new AtomicReference<>();
49 final IOIntConsumer consumer1 = s -> ref.set(s + "-");
50 final IOIntConsumer consumer2 = s -> ref.set(ref.get() + "=" + s);
51 consumer1.andThen(consumer2).accept(66);
52 assertEquals(66 + "-=" + 66, ref.get());
53 }
54
55 @Test
56 void testAsConsumer() {
57 assertThrows(UncheckedIOException.class, () -> Optional.of(65).ifPresent(TestUtils.throwingIOIntConsumer().asConsumer()));
58 final AtomicReference<String> ref = new AtomicReference<>();
59 final IOIntConsumer consumer1 = s -> ref.set(s + "A");
60 Optional.of(2).ifPresent(consumer1.asConsumer());
61 assertEquals("2A", ref.get());
62 }
63
64 @Test
65 void testasIntConsumer() {
66 final AtomicReference<String> ref = new AtomicReference<>();
67 final IOIntConsumer consumer1 = s -> ref.set(s + "A");
68 consumer1.asIntConsumer().accept(2);
69 assertEquals("2A", ref.get());
70 }
71
72 @Test
73 void testNOOP() {
74
75 assertDoesNotThrow(() -> IOIntConsumer.NOOP.accept(0));
76 }
77
78 }