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