class TrieTest1(unittest.TestCase): def setUp(self): self.simple_trie = Trie() self.simple_trie.insert("abcccc") self.simple_trie.insert("efffddd") self.simple_trie.insert("eff") self.simple_trie.insert("efff") self.simple_trie.insert("efffz") def testSearch(self): self.assertFalse(self.simple_trie.search("abcc")) self.assertTrue(self.simple_trie.search("abcccc")) self.assertTrue(self.simple_trie.search("efffddd")) self.assertFalse(self.simple_trie.search("efffdd")) def testStartsWithPrefix(self): self.assertEqual(self.simple_trie.starts_with_prefix("eff"), ["efff", "efffz", "efffddd"]) self.assertEqual(self.simple_trie.starts_with_prefix("xf"), [])
class TrieTestDuplicates(unittest.TestCase): def testDuplicateTrie(self): self.simple_trie = Trie() self.simple_trie.insert("aaaaaa") self.simple_trie.insert("aaaaaa") self.simple_trie.insert("aaaaaa") self.simple_trie.insert("aaaaaa") self.assertTrue(self.simple_trie.search("aaaaaa")) self.assertTrue(self.simple_trie.has_prefix("aaa")) self.assertFalse(self.simple_trie.has_prefix("c")) self.assertTrue(self.simple_trie.has_prefix(""))
class TrieTestEmpty(unittest.TestCase): def testEmptyTrie(self): self.simple_trie = Trie() self.assertFalse(self.simple_trie.search(""))