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 java.io.File;
20 import java.util.ArrayList;
21 import java.util.Comparator;
22 import java.util.List;
23
24 import org.apache.commons.io.FileUtils;
25 import org.apache.commons.io.testtools.FileBasedTestCase;
26
27
28
29
30 public abstract class ComparatorAbstractTestCase extends FileBasedTestCase {
31
32
33 protected AbstractFileComparator comparator;
34
35
36 protected Comparator<File> reverse;
37
38
39 protected File equalFile1;
40
41
42 protected File equalFile2;
43
44
45 protected File lessFile;
46
47
48 protected File moreFile;
49
50
51
52
53
54 public ComparatorAbstractTestCase(final String name) {
55 super(name);
56 }
57
58
59 @Override
60 protected void setUp() throws Exception {
61 comparator = (AbstractFileComparator) DefaultFileComparator.DEFAULT_COMPARATOR;
62 reverse = DefaultFileComparator.DEFAULT_REVERSE;
63 }
64
65
66 @Override
67 protected void tearDown() throws Exception {
68 comparator = null;
69 reverse = null;
70 equalFile1 = null;
71 equalFile2 = null;
72 lessFile = null;
73 moreFile = null;
74 FileUtils.deleteDirectory(getTestDirectory());
75 }
76
77
78
79
80 public void testComparator() {
81 assertEquals("equal", 0, comparator.compare(equalFile1, equalFile2));
82 assertTrue("less", comparator.compare(lessFile, moreFile) < 0);
83 assertTrue("more", comparator.compare(moreFile, lessFile) > 0);
84 }
85
86
87
88
89 public void testReverseComparator() {
90 assertEquals("equal", 0, reverse.compare(equalFile1, equalFile2));
91 assertTrue("less", reverse.compare(moreFile, lessFile) < 0);
92 assertTrue("more", reverse.compare(lessFile, moreFile) > 0);
93 }
94
95
96
97
98 public void testSortArrayNull() {
99 assertNull(comparator.sort((File[])null));
100 }
101
102
103
104
105 public void testSortArray() {
106 final File[] files = new File[3];
107 files[0] = equalFile1;
108 files[1] = moreFile;
109 files[2] = lessFile;
110 comparator.sort(files);
111 assertSame("equal", lessFile, files[0]);
112 assertSame("less", equalFile1, files[1]);
113 assertSame("more", moreFile, files[2]);
114 }
115
116
117
118
119 public void testSortList() {
120 final List<File> files = new ArrayList<File>();
121 files.add(equalFile1);
122 files.add(moreFile);
123 files.add(lessFile);
124 comparator.sort(files);
125 assertSame("equal", lessFile, files.get(0));
126 assertSame("less", equalFile1, files.get(1));
127 assertSame("more", moreFile, files.get(2));
128 }
129
130
131
132
133 public void testSortListNull() {
134 assertNull(comparator.sort((List<File>)null));
135 }
136
137
138
139
140 public void testToString() {
141 assertNotNull("comparator", comparator.toString());
142 assertTrue("reverse", reverse.toString().startsWith("ReverseComparator["));
143 }
144 }