KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > prefuse > data > util > ObjectIntTreeMapTest


1 package test.prefuse.data.util;
2
3 import java.util.Arrays JavaDoc;
4 import java.util.Iterator JavaDoc;
5 import java.util.NoSuchElementException JavaDoc;
6
7 import junit.framework.TestCase;
8 import prefuse.util.collections.IntIterator;
9 import prefuse.util.collections.LiteralIterator;
10 import prefuse.util.collections.ObjectIntTreeMap;
11
12 public class ObjectIntTreeMapTest extends TestCase {
13     
14     ObjectIntTreeMap map = new ObjectIntTreeMap(true);
15     int[] keys = { 1, 2, 5, 3, 4, 5, 10 };
16     int[] sort;
17     
18     public ObjectIntTreeMapTest() {
19         sort = (int[])keys.clone();
20         Arrays.sort(sort);
21     }
22     
23     protected void setUp() throws Exception JavaDoc {
24         super.setUp();
25         for ( int i=0; i<keys.length; ++i ) {
26             map.put(new Integer JavaDoc(keys[i]),keys[i]);
27         }
28     }
29
30     protected void tearDown() throws Exception JavaDoc {
31         super.tearDown();
32         map.clear();
33     }
34
35     /*
36      * Test method for 'edu.berkeley.guir.prefuse.data.util.IntIntTreeMap.clear()'
37      */

38     public void testClear() {
39         map.clear();
40         assertTrue(map.isEmpty());
41         try {
42             map.keyIterator().next();
43             fail("Iterator should be empty");
44         } catch ( NoSuchElementException JavaDoc success ) {
45         }
46         assertEquals(map.get(new Integer JavaDoc(1)),Integer.MIN_VALUE);
47     }
48
49     /*
50      * Test method for 'edu.berkeley.guir.prefuse.data.util.IntIntTreeMap.get(int)'
51      */

52     public void testGet() {
53         for ( int i=0; i<map.size(); ++i ) {
54             assertEquals(map.get(new Integer JavaDoc(keys[i])),keys[i]);
55         }
56     }
57
58     /*
59      * Test method for 'edu.berkeley.guir.prefuse.data.util.IntIntTreeMap.put(int, int)'
60      */

61     public void testPut() {
62         map.clear();
63         int size = 0;
64         for ( int i=0; i<keys.length; ++i ) {
65             map.put(new Integer JavaDoc(keys[i]),keys[i]);
66             assertEquals(++size, map.size());
67             assertEquals(map.get(new Integer JavaDoc(keys[i])), keys[i]);
68         }
69     }
70
71     /*
72      * Test method for 'edu.berkeley.guir.prefuse.data.util.IntIntTreeMap.remove(int)'
73      */

74     public void testRemoveInt() {
75         int size = map.size();
76         for ( int i=0; i<keys.length; ++i ) {
77             int val = map.remove(new Integer JavaDoc(keys[i]));
78             assertEquals(keys[i], val);
79             assertEquals(--size, map.size());
80         }
81         for ( int i=0; i<keys.length; ++i ) {
82             assertEquals(map.get(new Integer JavaDoc(keys[i])), Integer.MIN_VALUE);
83         }
84     }
85
86     /*
87      * Test method for 'edu.berkeley.guir.prefuse.data.util.IntIntTreeMap.firstKey()'
88      */

89     public void testFirstKey() {
90         assertEquals(((Integer JavaDoc)map.firstKey()).intValue(), sort[0]);
91     }
92
93     /*
94      * Test method for 'edu.berkeley.guir.prefuse.data.util.IntIntTreeMap.lastKey()'
95      */

96     public void testLastKey() {
97         assertEquals(((Integer JavaDoc)map.lastKey()).intValue(), sort[sort.length-1]);
98     }
99
100     /*
101      * Test method for 'edu.berkeley.guir.prefuse.data.util.IntIntTreeMap.keyIterator()'
102      */

103     public void testKeyIterator() {
104         Iterator JavaDoc iter = map.keyIterator();
105         for ( int i=0; iter.hasNext(); ++i ) {
106             Integer JavaDoc key = (Integer JavaDoc)iter.next();
107             assertEquals(sort[i], key.intValue());
108         }
109     }
110
111     /*
112      * Test method for 'edu.berkeley.guir.prefuse.data.util.IntIntTreeMap.subMap(int, int)'
113      */

114     public void testSubMap() {
115         int k1, i1, i2, i, k, len = sort.length-1;
116         for ( i=0, k=sort[0]; k==sort[0]; ++i, k=sort[i] );
117         k1 = k; i1 = i;
118         for ( i=len, k=sort[len]; i>=0 && k==sort[len]; --i, k=sort[i] );
119         i2 = i;
120         
121         Object JavaDoc loKey = new Integer JavaDoc(k1);
122         Object JavaDoc hiKey = new Integer JavaDoc(sort[len]);
123         
124         Iterator JavaDoc iter = map.keyRangeIterator(loKey, true, hiKey, false);
125         for ( i=i1; iter.hasNext() && i <= i2; ++i ) {
126             assertEquals(((Integer JavaDoc)iter.next()).intValue(), sort[i]);
127         }
128         assertTrue(!iter.hasNext() && i == i2+1);
129         
130         IntIterator liter = map.valueRangeIterator(loKey, true, hiKey, false);
131         for ( i=i1; liter.hasNext() && i <= i2; ++i ) {
132             assertEquals(liter.nextInt(), sort[i]);
133         }
134         assertTrue(!iter.hasNext() && i == i2+1);
135     }
136
137     /*
138      * Test method for 'edu.berkeley.guir.prefuse.data.util.AbstractTreeMap.size()'
139      */

140     public void testSize() {
141         assertEquals(map.size(), keys.length);
142     }
143
144     /*
145      * Test method for 'edu.berkeley.guir.prefuse.data.util.AbstractTreeMap.isEmpty()'
146      */

147     public void testIsEmpty() {
148         assertFalse(map.isEmpty());
149     }
150
151     /*
152      * Test method for 'edu.berkeley.guir.prefuse.data.util.AbstractTreeMap.valueIterator()'
153      */

154     public void testValueIterator() {
155         LiteralIterator iter = map.valueIterator(true);
156         for ( int i=0; iter.hasNext(); ++i ) {
157             int val = iter.nextInt();
158             assertEquals(sort[i], val);
159         }
160     }
161
162 }
163
Popular Tags