예제 #1
0
 def test_delete_word_empty_Trie(self):
     testTrie = Trie()
     testTrie.delete("australia")
     self.assertTrue(len(testTrie.root.children) == 0)
예제 #2
0
파일: Timings.py 프로젝트: codegaurav/Trie
def nonExistingDeletion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
    trie.delete("gan")
예제 #3
0
class DeletionTests(unittest.TestCase):
    def setUp(self):
        self.t = Trie()
        self.t.insert("gaurav")
        self.t.insert("gann")
        self.t.insert("usa")
        self.t.insert("gannt")   
 
    #deleting gann from bag of words
    def test_delete_simple(self):
        self.assertTrue(self.t._lookup("gann",self.t.root))
        self.t.delete("gann")
        self.assertFalse(self.t._lookup("gann",self.t.root))

    #delete gann but gannt is valid
    def test_delete_smaller_word(self):
        self.assertTrue(self.t._lookup("gann",self.t.root))
        self.t.delete("gann")
        self.assertFalse(self.t._lookup("gann",self.t.root))
        self.assertTrue(self.t._lookup("gannt",self.t.root))

    #deleting gannt but gann is valid
    def test_delete_bigger_word(self):
        self.assertTrue(self.t._lookup("gannt",self.t.root))
        self.t.delete("gannt")
        self.assertFalse(self.t._lookup("gannt",self.t.root))
        self.assertTrue(self.t._lookup("gann",self.t.root))

    #deleting word with similar starting letters. deleting gann by gaurav is valid
    def test_delete_similar_starting_letters(self):
        self.t.delete("gann")
        self.assertTrue(self.t._lookup("gaurav",self.t.root))
        self.assertFalse(self.t._lookup("gann",self.t.root))

    def test_delete_same_word_twice(self):
        self.assertTrue(self.t._lookup("gann",self.t.root))
        self.t.delete("gann")
        self.t.delete("gann")
        self.assertFalse(self.t._lookup("gann",self.t.root))
    
    def test_delete_word_not_in_Trie(self):
        self.t.delete("australia")
        self.assertTrue(len(self.t.root.children) == 2)

    def test_delete_word_empty_Trie(self):
        testTrie = Trie()
        testTrie.delete("australia")
        self.assertTrue(len(testTrie.root.children) == 0)

    def test_delete_word_not_identified_as_leaf(self):
        self.t.delete("gan")
        self.assertTrue(self.t._lookup("gann",self.t.root))
예제 #4
0
파일: Timings.py 프로젝트: codegaurav/Trie
def deletion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
    trie.delete("gann")
예제 #5
0
파일: Timings.py 프로젝트: codegaurav/Trie
def nonExistingDeletion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
    trie.delete("gan")
예제 #6
0
파일: Timings.py 프로젝트: codegaurav/Trie
def deletion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
    trie.delete("gann")
예제 #7
0
 def test_delete_word_empty_Trie(self):
     testTrie = Trie()
     testTrie.delete("australia")
     self.assertTrue(len(testTrie.root.children) == 0)
예제 #8
0
class DeletionTests(unittest.TestCase):
    def setUp(self):
        self.t = Trie()
        self.t.insert("gaurav")
        self.t.insert("gann")
        self.t.insert("usa")
        self.t.insert("gannt")

    #deleting gann from bag of words
    def test_delete_simple(self):
        self.assertTrue(self.t._lookup("gann", self.t.root))
        self.t.delete("gann")
        self.assertFalse(self.t._lookup("gann", self.t.root))

    #delete gann but gannt is valid
    def test_delete_smaller_word(self):
        self.assertTrue(self.t._lookup("gann", self.t.root))
        self.t.delete("gann")
        self.assertFalse(self.t._lookup("gann", self.t.root))
        self.assertTrue(self.t._lookup("gannt", self.t.root))

    #deleting gannt but gann is valid
    def test_delete_bigger_word(self):
        self.assertTrue(self.t._lookup("gannt", self.t.root))
        self.t.delete("gannt")
        self.assertFalse(self.t._lookup("gannt", self.t.root))
        self.assertTrue(self.t._lookup("gann", self.t.root))

    #deleting word with similar starting letters. deleting gann by gaurav is valid
    def test_delete_similar_starting_letters(self):
        self.t.delete("gann")
        self.assertTrue(self.t._lookup("gaurav", self.t.root))
        self.assertFalse(self.t._lookup("gann", self.t.root))

    def test_delete_same_word_twice(self):
        self.assertTrue(self.t._lookup("gann", self.t.root))
        self.t.delete("gann")
        self.t.delete("gann")
        self.assertFalse(self.t._lookup("gann", self.t.root))

    def test_delete_word_not_in_Trie(self):
        self.t.delete("australia")
        self.assertTrue(len(self.t.root.children) == 2)

    def test_delete_word_empty_Trie(self):
        testTrie = Trie()
        testTrie.delete("australia")
        self.assertTrue(len(testTrie.root.children) == 0)

    def test_delete_word_not_identified_as_leaf(self):
        self.t.delete("gan")
        self.assertTrue(self.t._lookup("gann", self.t.root))