| @@ 57-105 (lines=49) @@ | ||
| 54 | print(key) |
|
| 55 | ||
| 56 | ||
| 57 | class TernarySearchTriesUnitTest(unittest.TestCase): |
|
| 58 | def test_put(self): |
|
| 59 | st = TernarySearchTries() |
|
| 60 | ||
| 61 | st.put("one", 1) |
|
| 62 | st.put("two", 2) |
|
| 63 | st.put("three", 3) |
|
| 64 | st.put("six", 6) |
|
| 65 | st.put("ten", 10) |
|
| 66 | st.put("ten", 10) |
|
| 67 | ||
| 68 | self.assertEqual(1, st.get("one")) |
|
| 69 | self.assertEqual(2, st.get("two")) |
|
| 70 | self.assertEqual(3, st.get("three")) |
|
| 71 | ||
| 72 | self.assertTrue(st.contains_key("one")) |
|
| 73 | self.assertTrue(st.contains_key("two")) |
|
| 74 | ||
| 75 | self.assertEqual(5, st.size()) |
|
| 76 | self.assertFalse(st.is_empty()) |
|
| 77 | ||
| 78 | st.delete("one") |
|
| 79 | self.assertFalse(st.contains_key("one")) |
|
| 80 | self.assertEqual(4, st.size()) |
|
| 81 | ||
| 82 | st.delete("ten") |
|
| 83 | self.assertFalse(st.contains_key("ten")) |
|
| 84 | self.assertEqual(3, st.size()) |
|
| 85 | ||
| 86 | st.delete("three") |
|
| 87 | self.assertFalse(st.contains_key("three")) |
|
| 88 | self.assertEqual(2, st.size()) |
|
| 89 | ||
| 90 | for i in range(100): |
|
| 91 | st.put(str(i), i) |
|
| 92 | self.assertEqual(i, st.get(str(i))) |
|
| 93 | ||
| 94 | for key in st.keys(): |
|
| 95 | print(key) |
|
| 96 | ||
| 97 | for i in range(100): |
|
| 98 | st.delete(str(i)) |
|
| 99 | self.assertFalse(st.contains_key(str(i))) |
|
| 100 | ||
| 101 | st.put('there', 2) |
|
| 102 | st.put('this', 2) |
|
| 103 | print('with prefix t') |
|
| 104 | for key in st.keys_with_prefix('t'): |
|
| 105 | print(key) |
|
| 106 | ||
| 107 | ||
| 108 | if __name__ == '__main__': |
|
| @@ 6-54 (lines=49) @@ | ||
| 3 | from pyalgs.data_structures.strings.search_tries import RWaySearchTries, TernarySearchTries |
|
| 4 | ||
| 5 | ||
| 6 | class RWaySearchTriesUnitTest(unittest.TestCase): |
|
| 7 | def test_put(self): |
|
| 8 | st = RWaySearchTries() |
|
| 9 | ||
| 10 | st.put("one", 1) |
|
| 11 | st.put("two", 2) |
|
| 12 | st.put("three", 3) |
|
| 13 | st.put("six", 6) |
|
| 14 | st.put("ten", 10) |
|
| 15 | st.put("ten", 10) |
|
| 16 | ||
| 17 | self.assertEqual(1, st.get("one")) |
|
| 18 | self.assertEqual(2, st.get("two")) |
|
| 19 | self.assertEqual(3, st.get("three")) |
|
| 20 | ||
| 21 | self.assertTrue(st.contains_key("one")) |
|
| 22 | self.assertTrue(st.contains_key("two")) |
|
| 23 | ||
| 24 | self.assertEqual(5, st.size()) |
|
| 25 | self.assertFalse(st.is_empty()) |
|
| 26 | ||
| 27 | st.delete("one") |
|
| 28 | self.assertFalse(st.contains_key("one")) |
|
| 29 | self.assertEqual(4, st.size()) |
|
| 30 | ||
| 31 | st.delete("ten") |
|
| 32 | self.assertFalse(st.contains_key("ten")) |
|
| 33 | self.assertEqual(3, st.size()) |
|
| 34 | ||
| 35 | st.delete("three") |
|
| 36 | self.assertFalse(st.contains_key("three")) |
|
| 37 | self.assertEqual(2, st.size()) |
|
| 38 | ||
| 39 | for i in range(100): |
|
| 40 | st.put(str(i), i) |
|
| 41 | self.assertEqual(i, st.get(str(i))) |
|
| 42 | ||
| 43 | for key in st.keys(): |
|
| 44 | print(key) |
|
| 45 | ||
| 46 | for i in range(100): |
|
| 47 | st.delete(str(i)) |
|
| 48 | self.assertFalse(st.contains_key(str(i))) |
|
| 49 | ||
| 50 | st.put('there', 2) |
|
| 51 | st.put('this', 2) |
|
| 52 | print('with prefix t') |
|
| 53 | for key in st.keys_with_prefix('t'): |
|
| 54 | print(key) |
|
| 55 | ||
| 56 | ||
| 57 | class TernarySearchTriesUnitTest(unittest.TestCase): |
|