Skip to content

Commit 7082951

Browse files
Add more test cases for Trie implementation
1 parent e6e9dc5 commit 7082951

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

trie/test_trie.py

+38
Original file line numberDiff line numberDiff line change
@@ -85,5 +85,43 @@ def test_single_character_words(self):
8585
self.assertFalse(self.trie.search("a"))
8686
self.assertTrue(self.trie.search("ab"))
8787

88+
def test_case_sensitivity(self):
89+
words = ["Apple", "apple", "APPLE", "bAnAnA"]
90+
for word in words:
91+
self.trie.insert(word)
92+
93+
for word in words:
94+
self.assertTrue(self.trie.search(word))
95+
96+
self.assertFalse(self.trie.search("aPpLe"))
97+
self.assertTrue(self.trie.delete("Apple"))
98+
self.assertFalse(self.trie.search("Apple"))
99+
self.assertTrue(self.trie.search("apple"))
100+
101+
def test_special_characters(self):
102+
words = ["hello!", "@world", "#python", "$100"]
103+
for word in words:
104+
self.trie.insert(word)
105+
106+
for word in words:
107+
self.assertTrue(self.trie.search(word))
108+
109+
self.assertFalse(self.trie.search("hello"))
110+
self.assertFalse(self.trie.search("world"))
111+
112+
def test_complex_operations(self):
113+
words = ["tree", "trie", "algo", "algorithm", "algorithms"]
114+
for word in words:
115+
self.trie.insert(word)
116+
117+
self.assertTrue(self.trie.search("algo"))
118+
self.assertTrue(self.trie.delete("algorithm"))
119+
self.assertFalse(self.trie.search("algorithm"))
120+
self.assertTrue(self.trie.search("algorithms"))
121+
122+
self.trie.insert("algorithmic")
123+
self.assertTrue(self.trie.search("algorithmic"))
124+
self.assertFalse(self.trie.search("algorithm"))
125+
88126
if __name__ == "__main__":
89127
unittest.main()

0 commit comments

Comments
 (0)