@@ 7-46 (lines=40) @@ | ||
4 | HashedSetWithLinearProbing |
|
5 | ||
6 | ||
7 | class HashedSetUnitTest(unittest.TestCase): |
|
8 | def test_hashedset(self): |
|
9 | set = HashedSet.create() |
|
10 | ||
11 | set.add("one") |
|
12 | set.add("two") |
|
13 | set.add("three") |
|
14 | set.add("six") |
|
15 | set.add("ten") |
|
16 | set.add("ten") |
|
17 | ||
18 | ||
19 | self.assertTrue(set.contains("one")) |
|
20 | self.assertTrue(set.contains("two")) |
|
21 | ||
22 | self.assertEqual(5, set.size()) |
|
23 | self.assertFalse(set.is_empty()) |
|
24 | ||
25 | set.delete("one") |
|
26 | self.assertFalse(set.contains("one")) |
|
27 | self.assertEqual(4, set.size()) |
|
28 | ||
29 | set.delete("ten") |
|
30 | self.assertFalse(set.contains("ten")) |
|
31 | self.assertEqual(3, set.size()) |
|
32 | ||
33 | set.delete("three") |
|
34 | self.assertFalse(set.contains("three")) |
|
35 | self.assertEqual(2, set.size()) |
|
36 | ||
37 | for i in range(100): |
|
38 | set.add(str(i)) |
|
39 | self.assertTrue(set.contains(str(i))) |
|
40 | ||
41 | for key in set.iterate(): |
|
42 | print(key) |
|
43 | ||
44 | for i in range(100): |
|
45 | set.delete(str(i)) |
|
46 | self.assertFalse(set.contains(str(i))) |
|
47 | ||
48 | ||
49 | class HashedSetWithSeparateChainingUnitTest(unittest.TestCase): |
|
@@ 90-128 (lines=39) @@ | ||
87 | self.assertFalse(set.contains(str(i))) |
|
88 | ||
89 | ||
90 | class HashedSetWithLinearProbingUnitTest(unittest.TestCase): |
|
91 | def test_binarySearchTree(self): |
|
92 | set = HashedSetWithLinearProbing() |
|
93 | ||
94 | set.add("one") |
|
95 | set.add("two") |
|
96 | set.add("three") |
|
97 | set.add("six") |
|
98 | set.add("ten") |
|
99 | set.add("ten") |
|
100 | ||
101 | self.assertTrue(set.contains("one")) |
|
102 | self.assertTrue(set.contains("two")) |
|
103 | ||
104 | self.assertEqual(5, set.size()) |
|
105 | self.assertFalse(set.is_empty()) |
|
106 | ||
107 | set.delete("one") |
|
108 | self.assertFalse(set.contains("one")) |
|
109 | self.assertEqual(4, set.size()) |
|
110 | ||
111 | set.delete("ten") |
|
112 | self.assertFalse(set.contains("ten")) |
|
113 | self.assertEqual(3, set.size()) |
|
114 | ||
115 | set.delete("three") |
|
116 | self.assertFalse(set.contains("three")) |
|
117 | self.assertEqual(2, set.size()) |
|
118 | ||
119 | for i in range(100): |
|
120 | set.add(str(i)) |
|
121 | self.assertTrue(set.contains(str(i))) |
|
122 | ||
123 | for key in set.iterate(): |
|
124 | print(key) |
|
125 | ||
126 | for i in range(100): |
|
127 | set.delete(str(i)) |
|
128 | self.assertFalse(set.contains(str(i))) |
|
129 | ||
130 | ||
131 | if __name__ == '__main__': |
|
@@ 49-87 (lines=39) @@ | ||
46 | self.assertFalse(set.contains(str(i))) |
|
47 | ||
48 | ||
49 | class HashedSetWithSeparateChainingUnitTest(unittest.TestCase): |
|
50 | def test_binarySearchTree(self): |
|
51 | set = HashedSetWithSeparateChaining() |
|
52 | ||
53 | set.add("one") |
|
54 | set.add("two") |
|
55 | set.add("three") |
|
56 | set.add("six") |
|
57 | set.add("ten") |
|
58 | set.add("ten") |
|
59 | ||
60 | self.assertTrue(set.contains("one")) |
|
61 | self.assertTrue(set.contains("two")) |
|
62 | ||
63 | self.assertEqual(5, set.size()) |
|
64 | self.assertFalse(set.is_empty()) |
|
65 | ||
66 | set.delete("one") |
|
67 | self.assertFalse(set.contains("one")) |
|
68 | self.assertEqual(4, set.size()) |
|
69 | ||
70 | set.delete("ten") |
|
71 | self.assertFalse(set.contains("ten")) |
|
72 | self.assertEqual(3, set.size()) |
|
73 | ||
74 | set.delete("three") |
|
75 | self.assertFalse(set.contains("three")) |
|
76 | self.assertEqual(2, set.size()) |
|
77 | ||
78 | for i in range(100): |
|
79 | set.add(str(i)) |
|
80 | self.assertTrue(set.contains(str(i))) |
|
81 | ||
82 | for key in set.iterate(): |
|
83 | print(key) |
|
84 | ||
85 | for i in range(100): |
|
86 | set.delete(str(i)) |
|
87 | self.assertFalse(set.contains(str(i))) |
|
88 | ||
89 | ||
90 | class HashedSetWithLinearProbingUnitTest(unittest.TestCase): |