File tree 1 file changed +24
-0
lines changed
1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -146,5 +146,29 @@ def test_empty_trie(self):
146
146
self .assertFalse (self .trie .search ("any" ))
147
147
self .assertFalse (self .trie .delete ("any" ))
148
148
149
+ def test_large_dataset (self ):
150
+ words = [f"word{ i } " for i in range (10000 )]
151
+ for word in words :
152
+ self .trie .insert (word )
153
+ for word in words :
154
+ self .assertTrue (self .trie .search (word ))
155
+ self .assertFalse (self .trie .search ("nonexistent" ))
156
+
157
+ def test_prefix_matching (self ):
158
+ words = ["prefix" , "preface" , "prepare" , "prevent" ]
159
+ for word in words :
160
+ self .trie .insert (word )
161
+ self .assertTrue (all (self .trie .search (word [:i ]) for word in words for i in range (3 , len (word ) + 1 )))
162
+ self .assertFalse (self .trie .search ("pre" ))
163
+
164
+ def test_edge_cases (self ):
165
+ self .trie .insert ("a" )
166
+ self .assertTrue (self .trie .search ("a" ))
167
+ self .trie .delete ("a" )
168
+ self .assertFalse (self .trie .search ("a" ))
169
+ self .trie .insert ("ab" )
170
+ self .assertTrue (self .trie .search ("ab" ))
171
+ self .assertFalse (self .trie .search ("a" ))
172
+
149
173
if __name__ == "__main__" :
150
174
unittest .main ()
You can’t perform that action at this time.
0 commit comments