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.assertArrayEquals;
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.nio.file.Path;
27 import java.util.Arrays;
28 import java.util.List;
29 import java.util.Optional;
30
31 import org.junit.jupiter.api.Test;
32
33
34
35
36 public class IOUnaryOperatorTest {
37
38 @Test
39 public void testAsUnaryOperator() {
40 final List<Path> list = Arrays.asList(TestConstants.ABS_PATH_A, TestConstants.ABS_PATH_A);
41 final IOUnaryOperator<Path> throwingIOUnaryOperator = TestUtils.throwingIOUnaryOperator();
42 assertThrows(UncheckedIOException.class, () -> list.replaceAll(throwingIOUnaryOperator.asUnaryOperator()));
43 assertEquals("a", Optional.of("a").map(IOUnaryOperator.identity().asUnaryOperator()).get());
44 assertEquals("a", Optional.of("a").map(IOUnaryOperator.identity().asFunction()).get());
45 }
46
47 @Test
48 public void testIdentity() throws IOException {
49 assertEquals(IOUnaryOperator.identity(), IOUnaryOperator.identity());
50 final IOUnaryOperator<byte[]> identityFunction = IOUnaryOperator.identity();
51 final byte[] buf = {(byte) 0xa, (byte) 0xb, (byte) 0xc};
52 assertEquals(buf, identityFunction.apply(buf));
53 assertArrayEquals(buf, identityFunction.apply(buf));
54 }
55
56 }