@@ -85,5 +85,43 @@ def test_single_character_words(self):
85
85
self .assertFalse (self .trie .search ("a" ))
86
86
self .assertTrue (self .trie .search ("ab" ))
87
87
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
+
88
126
if __name__ == "__main__" :
89
127
unittest .main ()
0 commit comments