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)
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)
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)
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)
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)
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())
def test_is_BST(self): self.assertTrue(self.T1.is_BST()) self.assertTrue(self.T2.is_BST()) T3 = BinarySearchTreeST() self.assertTrue(T3.is_BST())
def test_checked(self): self.assertTrue(self.T1.checked()) self.assertTrue(self.T2.checked()) T3 = BinarySearchTreeST() self.assertTrue(T3.checked())