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.assertEquals;
21 import static org.junit.jupiter.api.Assertions.assertNull;
22 import static org.junit.jupiter.api.Assertions.assertThrows;
23 import static org.junit.jupiter.api.Assertions.assertTrue;
24
25 import java.io.IOException;
26 import java.io.UncheckedIOException;
27 import java.nio.file.Files;
28 import java.util.concurrent.Executors;
29 import java.util.concurrent.atomic.AtomicReference;
30
31 import org.apache.commons.io.file.PathUtils;
32 import org.junit.jupiter.api.Test;
33
34
35
36
37 public class IORunnableTest {
38
39
40
41
42
43
44 @Test
45 public void testAccept() throws IOException {
46 final AtomicReference<String> ref = new AtomicReference<>();
47 final IORunnable runnable = () -> ref.set("A1");
48 runnable.run();
49 assertEquals("A1", ref.get());
50 }
51
52 @Test
53 public void testAsRunnable() throws Exception {
54 assertThrows(UncheckedIOException.class, () -> Executors.callable(TestConstants.THROWING_IO_RUNNABLE.asRunnable()).call());
55 final IORunnable runnable = () -> Files.size(PathUtils.current());
56 assertNull(Executors.callable(runnable.asRunnable()).call());
57 }
58
59 @SuppressWarnings("cast")
60 @Test
61 public void testNoop() throws IOException {
62 assertTrue(IORunnable.noop() instanceof IORunnable);
63 IORunnable.noop().run();
64 }
65
66 }