예제 #1
0
파일: test_TST.py 프로젝트: michiboo1/ands
 def test_insert_one(self):
     t = TST()
     t.insert("one", 97)
     self.assertFalse(t.is_empty())
     self.assertEqual(t.count(), 1)
     self.assertEqual(t.search("one"), 97)
     self.assertTrue(t.contains("one"))
예제 #2
0
파일: test_TST.py 프로젝트: michiboo1/ands
    def test_delete_the_only_key(self):
        t = TST()
        t.insert("seven", 7)

        self.assertEqual(t.delete("seven"), 7)
        self.assertTrue(t.is_empty())
        self.assertEqual(t.count(), 0)
        self.assertFalse(t.contains("seven"))
        self.assertIsNone(t.search("seven"))
예제 #3
0
파일: test_TST.py 프로젝트: michiboo1/ands
    def test_delete_inexistent_key(self):
        t = TST()
        t.insert("first", "1st")

        self.assertIsNone(t.delete("second"))
        self.assertFalse(t.is_empty())
        self.assertEqual(t.count(), 1)
        self.assertTrue(t.contains("first"))
        self.assertEqual(t.search("first"), "1st")
예제 #4
0
파일: test_TST.py 프로젝트: michiboo1/ands
 def test_insert_two(self):
     t = TST()
     t.insert("he", 0)
     t.insert("she", 1)
     self.assertFalse(t.is_empty())
     self.assertEqual(t.count(), 2)
     self.assertEqual(t.search("he"), 0)
     self.assertEqual(t.search("she"), 1)
     self.assertTrue(t.contains("he"))
     self.assertTrue(t.contains("she"))
예제 #5
0
파일: test_TST.py 프로젝트: michiboo1/ands
    def test_delete_the_two_keys(self):
        t = TST()
        t.insert("one", 1)
        t.insert("two", 2)

        self.assertEqual(t.delete("one"), 1)
        self.assertFalse(t.is_empty())
        self.assertEqual(t.count(), 1)
        self.assertFalse(t.contains("one"))
        self.assertTrue(t.contains("two"))
        self.assertIsNone(t.search("one"))
        self.assertEqual(t.search("two"), 2)

        self.assertEqual(t.delete("two"), 2)
        self.assertTrue(t.is_empty())
        self.assertEqual(t.count(), 0)
        self.assertFalse(t.contains("one"))
        self.assertFalse(t.contains("two"))
        self.assertIsNone(t.search("one"))
        self.assertIsNone(t.search("two"))
예제 #6
0
파일: test_TST.py 프로젝트: michiboo1/ands
    def test_delete_after_inserting_again(self):
        t = TST()

        t.insert("boo", 0.5)
        t.insert("neg", 1)
        self.assertEqual(t.delete("neg"), 1)

        t.insert("neg", 1)
        self.assertEqual(t.delete("neg"), 1)

        self.assertFalse(t.is_empty())
        self.assertEqual(t.count(), 1)
예제 #7
0
파일: test_TST.py 프로젝트: michiboo1/ands
 def test_insert_same_twice_to_update(self):
     t = TST()
     t.insert("seven", 7)
     t.insert("fly away", 11)
     t.insert("fly away", 101)
     t.insert("bandit queen", "Looptroop")
     self.assertFalse(t.is_empty())
     self.assertEqual(t.count(), 3)
     self.assertEqual(t.search("seven"), 7)
     self.assertEqual(t.search("fly away"), 101)
     self.assertEqual(t.search("bandit queen"), "Looptroop")
     self.assertTrue(t.contains("seven"))
     self.assertTrue(t.contains("fly away"))
     self.assertTrue(t.contains("bandit queen"))
예제 #8
0
파일: test_TST.py 프로젝트: michiboo1/ands
    def test_delete_same_key_twice(self):
        t = TST()
        t.insert("one", 1)
        t.insert("two", 2)
        t.insert("three", 3)

        self.assertEqual(t.delete("three"), 3)
        self.assertIsNone(t.delete("three"))
        self.assertFalse(t.is_empty())
        self.assertEqual(t.count(), 2)
        self.assertTrue(t.contains("one"))
        self.assertTrue(t.contains("two"))
        self.assertEqual(t.search("one"), 1)
        self.assertEqual(t.search("two"), 2)
예제 #9
0
파일: test_TST.py 프로젝트: michiboo1/ands
    def test_insert_random_keys(self):
        t = TST()

        n = random.randint(4, 100)
        random_pairs = {}

        for _ in range(n):
            key = TestTST.gen_rand_str(random.randint(1, 11))
            random_pairs[key] = key
            t.insert(key, key)

            self.assertFalse(t.is_empty())
            self.assertEqual(t.count(), len(random_pairs))

        for k, v in random_pairs.items():
            self.assertEqual(t.search(k), v)
            self.assertTrue(t.contains(k))
예제 #10
0
파일: test_TST.py 프로젝트: michiboo1/ands
 def test_creation(self):
     t = TST()
     self.assertTrue(t.is_empty())
     self.assertEqual(t.count(), 0)