Skip to content

Commit

Permalink
Add more test cases for Trie implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
staging-devin-ai-integration[bot] committed Aug 26, 2024
1 parent b31d551 commit adb3bbf
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions trie/test_trie.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,5 +146,29 @@ def test_empty_trie(self):
self.assertFalse(self.trie.search("any"))
self.assertFalse(self.trie.delete("any"))

def test_large_dataset(self):
words = [f"word{i}" for i in range(10000)]
for word in words:
self.trie.insert(word)
for word in words:
self.assertTrue(self.trie.search(word))
self.assertFalse(self.trie.search("nonexistent"))

def test_prefix_matching(self):
words = ["prefix", "preface", "prepare", "prevent"]
for word in words:
self.trie.insert(word)
self.assertTrue(all(self.trie.search(word[:i]) for word in words for i in range(3, len(word) + 1)))
self.assertFalse(self.trie.search("pre"))

def test_edge_cases(self):
self.trie.insert("a")
self.assertTrue(self.trie.search("a"))
self.trie.delete("a")
self.assertFalse(self.trie.search("a"))
self.trie.insert("ab")
self.assertTrue(self.trie.search("ab"))
self.assertFalse(self.trie.search("a"))

if __name__ == "__main__":
unittest.main()

0 comments on commit adb3bbf

Please sign in to comment.