1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.onemind.commons.java.datastructure;
22
23 import java.util.HashMap;
24 import java.util.Map;
25 import org.onemind.commons.java.datastructure.TrackedMap;
26 import junit.framework.TestCase;
27 /***
28 * Test for TrackedMap
29 * @author TiongHiang Lee (thlee@onemindsoft.org)
30 * @version $Id: TrackedMapTest.java,v 1.2 2004/08/26 12:33:09 thlee Exp $ $Name: $
31 */
32 public class TrackedMapTest extends TestCase
33 {
34
35 public void testTrackedMap()
36 {
37 Object first = new String("first");
38 Object second = new String("second");
39 Object third = new String("third");
40 Map m = new HashMap();
41 m.put(first, first);
42
43
44 TrackedMap map = new TrackedMap(m);
45 assertEquals(map.size(), 1);
46 assertEquals(map.keySet().size(), 1);
47 assertEquals(map.values().size(), 1);
48
49 map.put(first, first);
50 assertTrue(map.hasChanges());
51 assertEquals(map.size(), 1);
52 assertEquals(map.keySet().size(), 1);
53 assertEquals(map.values().size(), 1);
54
55
56 map.put(second, second);
57
58 assertTrue(map.hasChanges());
59 assertEquals(map.size(), 2);
60 assertEquals(map.keySet().size(), 2);
61 assertEquals(map.values().size(), 2);
62
63
64 map.makeUpToDate();
65 assertTrue(!map.hasChanges());
66 assertEquals(map.size(), 2);
67 assertEquals(map.keySet().size(), 2);
68 assertEquals(map.values().size(), 2);
69 }
70 }