1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io.comparator;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertNotNull;
21 import static org.junit.jupiter.api.Assertions.assertNull;
22 import static org.junit.jupiter.api.Assertions.assertSame;
23 import static org.junit.jupiter.api.Assertions.assertTrue;
24
25 import java.io.File;
26 import java.util.ArrayList;
27 import java.util.Comparator;
28 import java.util.List;
29
30 import org.junit.jupiter.api.Test;
31 import org.junit.jupiter.api.io.TempDir;
32
33
34
35
36 public abstract class ComparatorAbstractTest {
37
38 @TempDir
39 public File dir;
40
41
42 protected AbstractFileComparator comparator;
43
44
45 protected Comparator<File> reverse;
46
47
48 protected File equalFile1;
49
50
51 protected File equalFile2;
52
53
54 protected File lessFile;
55
56
57 protected File moreFile;
58
59
60
61
62 @Test
63 public void testComparator() {
64 assertEquals(0, comparator.compare(equalFile1, equalFile2), "equal");
65 assertTrue(comparator.compare(lessFile, moreFile) < 0, "less");
66 assertTrue(comparator.compare(moreFile, lessFile) > 0, "more");
67 }
68
69
70
71
72 @Test
73 public void testReverseComparator() {
74 assertEquals(0, reverse.compare(equalFile1, equalFile2), "equal");
75 assertTrue(reverse.compare(moreFile, lessFile) < 0, "less");
76 assertTrue(reverse.compare(lessFile, moreFile) > 0, "more");
77 }
78
79
80
81
82 @Test
83 public void testSortArray() {
84 final File[] files = new File[3];
85 files[0] = equalFile1;
86 files[1] = moreFile;
87 files[2] = lessFile;
88 comparator.sort(files);
89 assertSame(lessFile, files[0], "equal");
90 assertSame(equalFile1, files[1], "less");
91 assertSame(moreFile, files[2], "more");
92 }
93
94
95
96
97 @Test
98 public void testSortArrayNull() {
99 assertNull(comparator.sort((File[]) null));
100 }
101
102
103
104
105 @Test
106 public void testSortList() {
107 final List<File> files = new ArrayList<>();
108 files.add(equalFile1);
109 files.add(moreFile);
110 files.add(lessFile);
111 comparator.sort(files);
112 assertSame(lessFile, files.get(0), "equal");
113 assertSame(equalFile1, files.get(1), "less");
114 assertSame(moreFile, files.get(2), "more");
115 }
116
117
118
119
120 @Test
121 public void testSortListNull() {
122 assertNull(comparator.sort((List<File>) null));
123 }
124
125
126
127
128 @Test
129 public void testToString() {
130 assertNotNull(comparator.toString(), "comparator");
131 assertTrue(reverse.toString().startsWith("ReverseFileComparator["), "reverse");
132 }
133 }