Exemple #1
0
    def setUp(self):
        self.kvp = NUMBERS

        self.T1 = BinarySearchTreeST()
        self.T2 = BinarySearchTreeST()

        load_data_from_file(self.DATA_FILE_PATH, self.T1)
        load_data_from_collection(self.kvp, self.T2)
Exemple #2
0
    def test_select(self):
        self.assertEqual(self.T2.select(0), "FIFTY")
        self.assertEqual(self.T2.select(3), "THIRTY")

        T3 = BinarySearchTreeST()
        with self.assertRaises(ValueError):
            self.T2.select(-1)
            self.T2.select(8)
            T3.select(-1)
Exemple #3
0
    def test_size_inrange(self):
        self.assertEqual(self.T2.size_inrange("FIFTY", "ZERO"), len(self.kvp))
        self.assertEqual(self.T2.size_inrange("APPLE", "FIFTY"), 1)
        self.assertEqual(self.T2.size_inrange("FIFTY", "APPLE"), 0)
        self.assertEqual(self.T2.size_inrange("ZERO", "ZERO"), 1)
        self.assertEqual(self.T2.size_inrange("ZERO", "ZZERO"), 1)
        self.assertEqual(self.T2.size_inrange("TWENTY", "ZERO"), 2)

        T3 = BinarySearchTreeST()
        with self.assertRaises(ValueError):
            self.T2.size_inrange(None, None)
            T3.size_inrange(10001, None)
Exemple #4
0
    def test_keys_inrange(self):
        # key not in tree
        # self.assertEqual(self.T2.keys_inrange(10001, 10029), 7)
        self.assertEqual(self.T2.keys_inrange("APPLE", "ZERO"), [])
        self.assertEqual(self.T2.keys_inrange("FIFTY", "FIFTY"), ["FIFTY"])
        self.assertEqual(self.T2.keys_inrange("FIFTY", "FORTY"), ["FIFTY"])
        self.assertEqual(self.T2.keys_inrange("FORTY", "FIFTY"), [])

        T3 = BinarySearchTreeST()
        with self.assertRaises(ValueError):
            self.T2.keys_inrange(None, None)
            T3.keys_inrange(10001, None)
            T3.keys_inrange(None, 10003)
Exemple #5
0
    def test_rank(self):
        self.assertEqual(self.T2.rank("APPLE"), 0)  # key not in tree
        self.assertEqual(self.T2.rank("FIFTY"), 0)
        self.assertEqual(self.T2.rank("FORTY"), 1)
        self.assertEqual(self.T2.rank("ZERO"), len(self.kvp) - 1)
        self.assertEqual(self.T2.rank("ZEROO"),
                         len(self.kvp))  # key not in tree
        self.assertEqual(self.T2.rank("ZZERO"),
                         len(self.kvp))  # key not in tree

        T3 = BinarySearchTreeST()
        with self.assertRaises(ValueError):
            self.T2.rank(None)
            T3.rank(None)
Exemple #6
0
    def test_is_rank_consistent(self):
        self.assertTrue(self.T1.is_rank_consistent())
        self.assertTrue(self.T2.is_rank_consistent())

        T3 = BinarySearchTreeST()
        self.assertTrue(T3.is_rank_consistent())
Exemple #7
0
    def test_is_BST(self):
        self.assertTrue(self.T1.is_BST())
        self.assertTrue(self.T2.is_BST())

        T3 = BinarySearchTreeST()
        self.assertTrue(T3.is_BST())
Exemple #8
0
    def test_checked(self):
        self.assertTrue(self.T1.checked())
        self.assertTrue(self.T2.checked())

        T3 = BinarySearchTreeST()
        self.assertTrue(T3.checked())