Skip to content

Commit 00fbd35

Browse files
author
KAKANAKOU Miguel Stephane
committed
JUnit test for Custom TreeMap
1 parent b91cfd0 commit 00fbd35

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
package com.test.symboltables;
2+
3+
4+
import java.util.Collections;
5+
6+
import com.symboltables.I_TreeMapCustom;
7+
import com.symboltables.TreeMapCustom;
8+
9+
import junit.framework.TestCase;
10+
11+
public class TestTreeMapCustom extends TestCase {
12+
13+
public void testEmpty() {
14+
I_TreeMapCustom<Integer, String> st = new TreeMapCustom<Integer, String>();
15+
assertEquals(0, st.size());
16+
assertEquals(true, st.isEmpty());
17+
assertEquals(null, st.remove(3));
18+
assertEquals(null, st.get(3));
19+
assertEquals(false, st.containsKey(3));
20+
assertEquals(false, st.containsValue("3"));
21+
}
22+
23+
public void testListOperations() {
24+
I_TreeMapCustom<Integer, String> st = new TreeMapCustom<Integer, String>();
25+
26+
try {
27+
st.put(null, "1");
28+
} catch (NullPointerException e) {
29+
assertNotNull(e);
30+
} catch (Exception e) {
31+
assertNull(e);
32+
}
33+
34+
st.put(20, "life");
35+
st.put(3, "good");
36+
st.put(4, "best");
37+
st.put(6, "java");
38+
st.put(7, "c++");
39+
st.put(30, "javascript");
40+
st.put(55, "datastructure");
41+
st.put(18, "bst");
42+
43+
st.keySet();
44+
45+
assertEquals(false, st.isEmpty());
46+
assertEquals(8, st.size());
47+
assertEquals("good", st.get(3));
48+
assertEquals(true, st.containsKey(3));
49+
assertEquals(true, st.containsValue("java"));
50+
assertEquals(false, st.containsKey(980));
51+
assertEquals(false, st.containsValue("computer"));
52+
assertEquals(null, st.remove(4536));
53+
assertEquals("javascript", st.remove(30));
54+
assertEquals(7, st.size());
55+
56+
assertEquals(true, st.containsKey(3));
57+
assertEquals("life", st.remove(20));
58+
assertEquals(6, st.size());
59+
assertEquals("good", st.remove(3));
60+
assertEquals(5, st.size());
61+
assertEquals(true, st.containsKey(4));
62+
assertEquals("best", st.remove(4));
63+
assertEquals("java", st.remove(6));
64+
assertEquals("c++", st.remove(7));
65+
assertEquals(true, st.containsValue("datastructure"));
66+
assertEquals("datastructure", st.remove(55));
67+
assertEquals(false, st.containsValue("datastructure"));
68+
assertEquals("bst", st.remove(18));
69+
assertEquals(true, st.isEmpty());
70+
71+
st.put(3, "good");
72+
st.put(4, "best");
73+
assertEquals(2, st.size());
74+
st.clear();
75+
assertEquals(true, st.isEmpty());
76+
77+
st = new TreeMapCustom<Integer, String>();
78+
st.put(20, "life");
79+
st.put(3, "good");
80+
st.put(4, "best");
81+
st.put(6, "java");
82+
st.put(7, "c++");
83+
st.put(30, "javascript");
84+
st.put(55, "datastructure");
85+
st.put(18, "bst");
86+
87+
Integer[] expected = {3, 4, 6, 7, 18, 20, 30, 55};
88+
Integer[] result = new Integer[8];
89+
int i=0;
90+
for(Integer key : st){
91+
result[i] = key;
92+
assertEquals(expected[i], result[i]);
93+
i++;
94+
}
95+
96+
st = new TreeMapCustom<Integer, String>(Collections.reverseOrder());
97+
st.put(20, "life");
98+
st.put(3, "good");
99+
st.put(4, "best");
100+
st.put(6, "java");
101+
st.put(7, "c++");
102+
st.put(30, "javascript");
103+
st.put(55, "datastructure");
104+
st.put(18, "bst");
105+
106+
Integer[] expected1 = {55, 30, 20, 18, 7, 6, 4, 3};
107+
result = new Integer[8];
108+
i=0;
109+
for(Integer key : st){
110+
result[i] = key;
111+
assertEquals(expected1[i], result[i]);
112+
i++;
113+
}
114+
115+
}
116+
117+
}

0 commit comments

Comments
 (0)