def test_trie_counts_and_prefix(self): obj = DTrie() actual_words = ['a','ab','abc','abc','bbc'] [obj.add(w) for w in actual_words] for w in actual_words: self.assertTrue(obj.isWord(w)) self.assertEqual(len(obj.getAllWords()),4) self.assertEqual( obj.getAllWordsPrefix('ab'),['ab','abc'] ) self.assertEqual(obj.getWordCount('abc'),2) obj = DTrie() list(map(obj.add,['foo','bar','bar','baz'])) self.assertEqual((obj.getWordCount('bar'),\ obj.getWordCount('baz'),\ obj.getWordCount('foo')),(2,1,1))
def test_count(self): obj = DTrie() foundE = False try: self.assertEqual(obj.getWordCount('foo'),0) except Exception as e: foundE = str(e).find("does not exist in Trie") >= 0 self.assertTrue( foundE ) obj = DTrie() words = ['foo','bar','bar','bar','baz'] [obj.add(w) for w in words] self.assertEqual(obj.getWordCount('bar'),3) self.assertEqual(obj.getWordCount('foo'),1) self.assertEqual(obj.getWordCount('baz'),1)
def test_trie_counts_and_prefix(self): obj = DTrie() actual_words = ["a", "ab", "abc", "abc", "bbc"] [obj.add(w) for w in actual_words] for w in actual_words: self.assertTrue(obj.isWord(w)) self.assertEqual(len(obj.getAllWords()), 4) self.assertEqual(obj.getAllWordsPrefix("ab"), ["ab", "abc"]) self.assertEqual(obj.getWordCount("abc"), 2) obj = DTrie() list(map(obj.add, ["foo", "bar", "bar", "baz"])) self.assertEqual( (obj.getWordCount("bar"), obj.getWordCount("baz"), obj.getWordCount("foo")), (2, 1, 1), )