1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package net.grinder.console.distribution;
23
24 import java.io.File;
25 import java.util.regex.Pattern;
26
27 import junit.framework.TestCase;
28 import net.grinder.messages.agent.CacheHighWaterMark;
29 import net.grinder.util.Directory;
30 import net.grinder.util.Directory.DirectoryException;
31
32
33
34
35
36
37
38 public class TestCacheParametersImplementation extends TestCase {
39
40 private Directory m_directory1;
41 private Directory m_directory2;
42 private Pattern m_pattern1;
43 private Pattern m_pattern2;
44
45 protected void setUp() throws DirectoryException {
46 m_directory1 = new Directory(new File("blah"));
47 m_directory2 = new Directory(new File("blurghah"));
48 m_pattern1 = Pattern.compile(".*");
49 m_pattern2 = Pattern.compile(".?");
50 }
51
52 public void testBasics() throws Exception {
53 final CacheParameters cacheParameters1 =
54 new CacheParametersImplementation(m_directory1, m_pattern1);
55 final CacheParameters cacheParameters2 =
56 new CacheParametersImplementation(m_directory2, m_pattern1);
57 final CacheParameters cacheParameters3 =
58 new CacheParametersImplementation(m_directory2, m_pattern2);
59 final CacheParameters cacheParameters4 =
60 new CacheParametersImplementation(m_directory1, m_pattern1);
61
62 assertEquals(m_directory1, cacheParameters1.getDirectory());
63 assertEquals(m_pattern1.pattern(),
64 cacheParameters1.getFileFilterPattern().pattern());
65 assertEquals(m_directory2, cacheParameters2.getDirectory());
66
67 assertEquals(cacheParameters1, cacheParameters1);
68 assertEquals(cacheParameters1.hashCode(), cacheParameters1.hashCode());
69
70 assertEquals(cacheParameters1, cacheParameters4);
71 assertEquals(cacheParameters1.hashCode(), cacheParameters4.hashCode());
72
73 assertFalse(cacheParameters1.equals(cacheParameters2));
74 assertFalse(cacheParameters2.equals(cacheParameters3));
75 assertFalse(cacheParameters2.equals(cacheParameters1));
76 assertFalse(cacheParameters2.equals(null));
77
78 assertFalse(cacheParameters2.equals(this));
79
80 }
81
82 public void testCreateCacheHighWaterMark() throws Exception {
83 final CacheParameters cache1 =
84 new CacheParametersImplementation(m_directory1, m_pattern1);
85 final CacheParameters cache2 =
86 new CacheParametersImplementation(m_directory2, m_pattern2);
87
88 final CacheHighWaterMark a = cache1.createHighWaterMark(100);
89 final CacheHighWaterMark b = cache1.createHighWaterMark(100);
90 final CacheHighWaterMark c = cache2.createHighWaterMark(120);
91
92 assertEquals(100, a.getTime());
93 assertEquals(100, b.getTime());
94 assertEquals(120, c.getTime());
95
96 assertTrue(a.isForSameCache(b));
97 assertTrue(a.isForSameCache(a));
98 assertTrue(b.isForSameCache(a));
99 assertFalse(a.isForSameCache(c));
100 assertFalse(c.isForSameCache(a));
101 assertFalse(c.isForSameCache(
102 new CacheHighWaterMark() {
103 public long getTime() {
104 return 120;
105 }
106
107 public boolean isForSameCache(CacheHighWaterMark other) {
108 return true;
109 }
110 }
111 ));
112 }
113 }