예제 #1
0
파일: Timings.py 프로젝트: codegaurav/Trie
def firstInsertion():
    trie = Trie()
    trie.insert("gaurav")
예제 #2
0
 def test_insert_empty_word_into_empty_trie(self):
     testTrie = Trie()
     testTrie.insert("")
     self.assertTrue(len(testTrie.root.children) == 0)
예제 #3
0
파일: Timings.py 프로젝트: codegaurav/Trie
def deletion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
    trie.delete("gann")
예제 #4
0
파일: Timings.py 프로젝트: codegaurav/Trie
def nonExistingDeletion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
    trie.delete("gan")
예제 #5
0
 def test_insert_empty_word_into_empty_trie(self):
     testTrie = Trie()
     testTrie.insert("")
     self.assertTrue(len(testTrie.root.children) == 0)
예제 #6
0
파일: Timings.py 프로젝트: codegaurav/Trie
def existingInsertion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
예제 #7
0
파일: Timings.py 프로젝트: codegaurav/Trie
def deletion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
    trie.delete("gann")
예제 #8
0
 def setUp(self):
     self.t = Trie()
     self.t.insert("gaurav")
     self.t.insert("gann")
     self.t.insert("usa")
     self.t.insert("gannt")
예제 #9
0
 def test_delete_word_empty_Trie(self):
     testTrie = Trie()
     testTrie.delete("australia")
     self.assertTrue(len(testTrie.root.children) == 0)
예제 #10
0
파일: Timings.py 프로젝트: codegaurav/Trie
def existingInsertion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
예제 #11
0
 def setUp(self):
     self.t = Trie()
     self.t.insert("gaurav")
     self.t.insert("gann")
     self.t.insert("usa")
     self.t.insert("gannt")
예제 #12
0
class InsertionTest(unittest.TestCase):
    def setUp(self):
        self.t = Trie()
        self.t.insert("gaurav")
        self.t.insert("gann")
        self.t.insert("usa")
        self.t.insert("gannt")

    def test_insert_simple(self):
        self.assertTrue(self.t._lookup("gann", self.t.root))
        self.assertTrue(self.t._lookup("gaurav", self.t.root))
        self.assertTrue(self.t._lookup("usa", self.t.root))
        self.assertTrue(self.t._lookup("gannt", self.t.root))

    def test_insert_smallerword_of_existing_bigger_word(self):
        self.t.insert("us")
        self.assertTrue(self.t._lookup("us", self.t.root))
        self.assertTrue(self.t._lookup("usa", self.t.root))

    def test_insert_same_word(self):
        self.t.insert("gann")
        self.assertTrue(self.t._lookup("gann", self.t.root))

    def test_insert_empty_word(self):
        self.t.insert("")
        self.assertTrue(self.t._lookup("gann", self.t.root))
        self.assertTrue(self.t._lookup("gaurav", self.t.root))
        self.assertTrue(self.t._lookup("usa", self.t.root))
        self.assertTrue(self.t._lookup("gannt", self.t.root))

    def test_insert_empty_word_into_empty_trie(self):
        testTrie = Trie()
        testTrie.insert("")
        self.assertTrue(len(testTrie.root.children) == 0)
예제 #13
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))
예제 #14
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))
예제 #15
0
파일: Timings.py 프로젝트: codegaurav/Trie
def nonExistingDeletion():
    trie = Trie()
    trie.insert("gaurav")
    trie.insert("gann")
    trie.insert("gannt")
    trie.delete("gan")
예제 #16
0
class InsertionTest(unittest.TestCase):
    def setUp(self):
        self.t = Trie()
        self.t.insert("gaurav")
        self.t.insert("gann")
        self.t.insert("usa")
        self.t.insert("gannt")

    def test_insert_simple(self):
        self.assertTrue(self.t._lookup("gann",self.t.root))
        self.assertTrue(self.t._lookup("gaurav",self.t.root))
        self.assertTrue(self.t._lookup("usa",self.t.root))    
        self.assertTrue(self.t._lookup("gannt",self.t.root))     

    def test_insert_smallerword_of_existing_bigger_word(self):
        self.t.insert("us")
        self.assertTrue(self.t._lookup("us",self.t.root))
        self.assertTrue(self.t._lookup("usa",self.t.root))
    
    def test_insert_same_word(self):
        self.t.insert("gann")
        self.assertTrue(self.t._lookup("gann",self.t.root))

    def test_insert_empty_word(self):
        self.t.insert("")
        self.assertTrue(self.t._lookup("gann",self.t.root))
        self.assertTrue(self.t._lookup("gaurav",self.t.root))
        self.assertTrue(self.t._lookup("usa",self.t.root))
        self.assertTrue(self.t._lookup("gannt",self.t.root))

    def test_insert_empty_word_into_empty_trie(self):
        testTrie = Trie()
        testTrie.insert("")
        self.assertTrue(len(testTrie.root.children) == 0)
예제 #17
0
파일: Timings.py 프로젝트: codegaurav/Trie
def firstInsertion():
    trie = Trie()
    trie.insert("gaurav")
예제 #18
0
 def test_delete_word_empty_Trie(self):
     testTrie = Trie()
     testTrie.delete("australia")
     self.assertTrue(len(testTrie.root.children) == 0)
예제 #19
0
import profile
import sys
sys.path.append('../Trie')
from src.Trie import Trie

t = Trie()
print "profiling for new insert"
profile.run('t.insert("gaurav")')
t.insert("gann")

print "profiling for inserting gannt when gann exisits"
profile.run('t.insert("gannt")')
t.insert("usa")
t.insert("us")

print "profiling for deleting gannt"
profile.run('t.delete("gannt")')
t.insert("gannt")