1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io.filefilter;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertFalse;
21 import static org.junit.jupiter.api.Assertions.assertNotEquals;
22 import static org.junit.jupiter.api.Assertions.assertTrue;
23
24 import java.io.File;
25 import java.io.IOException;
26 import java.nio.file.Files;
27 import java.nio.file.Path;
28 import java.nio.file.Paths;
29 import java.util.Collections;
30
31 import org.apache.commons.io.FileUtils;
32 import org.apache.commons.io.file.AccumulatorPathVisitor;
33 import org.apache.commons.io.file.CounterAssertions;
34 import org.apache.commons.io.file.Counters;
35 import org.junit.jupiter.api.Test;
36
37
38
39
40 public class NameFileFilterTest {
41
42
43
44
45
46
47 @Test
48 public void testJavadocExampleUsingIo() {
49 final File dir = FileUtils.current();
50 final String[] files = dir.list(new NameFileFilter("NOTICE.txt"));
51
52 assertEquals(1, files.length);
53 }
54
55
56
57
58
59
60 @Test
61 public void testJavadocExampleUsingNio() throws IOException {
62 final Path dir = Paths.get("");
63
64 final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new NameFileFilter("NOTICE.txt"),
65 TrueFileFilter.INSTANCE);
66
67
68 Files.walkFileTree(dir, Collections.emptySet(), 1, visitor);
69
70
71
72 assertEquals(1, visitor.getPathCounters().getFileCounter().get());
73 assertEquals(1, visitor.getPathCounters().getDirectoryCounter().get());
74 assertTrue(visitor.getPathCounters().getByteCounter().get() > 0);
75 assertFalse(visitor.getDirList().isEmpty());
76 assertFalse(visitor.getFileList().isEmpty());
77 assertEquals(1, visitor.getFileList().size());
78
79 visitor.getPathCounters().reset();
80
81
82 Files.walkFileTree(dir, visitor);
83
84
85
86
87
88 assertTrue(visitor.getPathCounters().getFileCounter().get() > 0);
89 assertTrue(visitor.getPathCounters().getDirectoryCounter().get() > 0);
90 assertTrue(visitor.getPathCounters().getByteCounter().get() > 0);
91
92 assertFalse(visitor.getDirList().isEmpty());
93 assertFalse(visitor.getFileList().isEmpty());
94
95 assertNotEquals(Counters.noopPathCounters(), visitor.getPathCounters());
96 visitor.getPathCounters().reset();
97 CounterAssertions.assertZeroCounters(visitor.getPathCounters());
98 }
99
100 @Test
101 public void testNoCounting() throws IOException {
102 final Path dir = Paths.get("");
103 final AccumulatorPathVisitor visitor = new AccumulatorPathVisitor(Counters.noopPathCounters(),
104 new NameFileFilter("NOTICE.txt"), TrueFileFilter.INSTANCE);
105 Files.walkFileTree(dir, Collections.emptySet(), 1, visitor);
106
107 CounterAssertions.assertZeroCounters(visitor.getPathCounters());
108
109 assertFalse(visitor.getDirList().isEmpty());
110 assertFalse(visitor.getFileList().isEmpty());
111 }
112 }