-
Notifications
You must be signed in to change notification settings - Fork 104
Expand file tree
/
Copy pathSimpleTestSimpleDict.java
More file actions
97 lines (86 loc) · 3.25 KB
/
Copy pathSimpleTestSimpleDict.java
File metadata and controls
97 lines (86 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package optjava.ch11;
import static org.junit.Assert.*;
import org.junit.Test;
/**
*
* @author ben
*/
public class SimpleTestSimpleDict {
@Test
public void empty_dicts_are_empty() {
SimpleDict sd = new SimpleDict(16);
assertTrue("Newly ctor'd object should be empty", sd.isEmpty());
assertEquals("Newly ctor'd object should be empty", 0, sd.size());
String rem = sd.remove("Foo");
assertNull("Removed value should be null", rem);
}
@Test
public void simple_put_and_get() {
SimpleDict sd = new SimpleDict(16);
sd.put("Foo", "Bar");
assertEquals(1, sd.size());
assertFalse("Dict with items should be non-empty", sd.isEmpty());
assertEquals("get should retrieve Bar", "Bar", sd.get("Foo"));
sd.put("Foo", "Bar");
assertEquals(1, sd.size());
assertTrue("Should contain Foo as a key", sd.containsKey("Foo"));
assertFalse("Should not contain Fox as a key", sd.containsKey("Fox"));
assertEquals("get should retrieve Bar", "Bar", sd.get("Foo"));
sd.put("Foo", "Baz");
assertEquals(1, sd.size());
assertEquals("get should retrieve Baz", "Baz", sd.get("Foo"));
sd.put("Fox", "Box");
assertEquals(2, sd.size());
assertEquals("get(Fox) should retrieve Box", "Box", sd.get("Fox"));
}
@Test
public void simple_put_and_remove() {
SimpleDict sd = new SimpleDict(16);
sd.put("Foo", "Baz");
sd.put("Fox", "Box");
assertEquals(2, sd.size());
String rem = sd.remove("Foo");
assertEquals("Removed value should be Baz", "Baz", rem);
assertEquals(1, sd.size());
}
@Test
public void remove_on_empty_gives_null() {
SimpleDict sd = new SimpleDict(16);
String rem = sd.remove("Foo");
assertNull("Removed value should be null", rem);
assertEquals(0, sd.size());
}
@Test
public void add_1_and_remove_on_empty_gives_initial_add() {
SimpleDict sd = new SimpleDict(16);
sd.put("Foo", "Bar");
String rem = sd.remove("Foo");
assertEquals("Removed value should be Bar", "Bar", rem);
assertEquals(0, sd.size());
}
@Test
public void add_a_and_b_then_remove_b_gives_initial_vb() {
// SimpleDict sd = new SimpleDict(16);
// sd.put("Foo", "Bar");
// String rem = sd.remove("Foo");
// assertEquals("Removed value should be Bar", "Bar", rem);
// assertEquals(0, sd.size());
}
@Test
public void capacity_ctor() {
SimpleDict sd = new SimpleDict(16);
assertEquals("Default capacity is 16", 16, sd.capacity());
sd = new SimpleDict(8);
assertEquals("Expected capacity is 8", 8, sd.capacity());
sd = new SimpleDict(17);
assertEquals("Expected capacity is 16", 16, sd.capacity());
sd = new SimpleDict(-128);
assertEquals("Expected capacity is 16", 16, sd.capacity());
sd = new SimpleDict(1);
assertEquals("Expected capacity is 1", 1, sd.capacity());
sd = new SimpleDict(256);
assertEquals("Expected capacity is 256", 256, sd.capacity());
sd = new SimpleDict(1023);
assertEquals("Expected capacity is 512", 512, sd.capacity());
}
}