|
2 | 2 |
|
3 | 3 | from binary_search_tree import BinarySearchTree, TreeNode
|
4 | 4 |
|
5 |
| - |
6 | 5 | # Tests adapted from `problem-specifications//canonical-data.json` @ v1.0.0
|
7 | 6 |
|
8 |
| -class BinarySearchTreeTest(unittest.TestCase): |
9 | 7 |
|
| 8 | +class BinarySearchTreeTest(unittest.TestCase): |
10 | 9 | def test_data_is_retained(self):
|
11 |
| - expected = TreeNode('4', None, None) |
12 |
| - self.assertTreeEqual(BinarySearchTree(['4']).data(), expected) |
| 10 | + expected = TreeNode("4", None, None) |
| 11 | + self.assertTreeEqual(BinarySearchTree(["4"]).data(), expected) |
13 | 12 |
|
14 |
| - # Test inserting data at proper node |
15 |
| - def test_smaller_data_at_left_node(self): |
16 |
| - expected = TreeNode('4', TreeNode('2', None, None), None) |
17 |
| - self.assertTreeEqual(BinarySearchTree(['4', '2']).data(), expected) |
| 13 | + def test_smaller_number_at_left_node(self): |
| 14 | + expected = TreeNode("4", TreeNode("2", None, None), None) |
| 15 | + self.assertTreeEqual(BinarySearchTree(["4", "2"]).data(), expected) |
18 | 16 |
|
19 | 17 | def test_same_number_at_left_node(self):
|
20 |
| - expected = TreeNode('4', TreeNode('4', None, None), None) |
21 |
| - self.assertTreeEqual(BinarySearchTree(['4', '4']).data(), expected) |
| 18 | + expected = TreeNode("4", TreeNode("4", None, None), None) |
| 19 | + self.assertTreeEqual(BinarySearchTree(["4", "4"]).data(), expected) |
22 | 20 |
|
23 | 21 | def test_greater_number_at_right_node(self):
|
24 |
| - expected = TreeNode('4', None, TreeNode('5', None, None)) |
25 |
| - self.assertTreeEqual(BinarySearchTree(['4', '5']).data(), expected) |
| 22 | + expected = TreeNode("4", None, TreeNode("5", None, None)) |
| 23 | + self.assertTreeEqual(BinarySearchTree(["4", "5"]).data(), expected) |
26 | 24 |
|
27 | 25 | def test_can_create_complex_tree(self):
|
28 | 26 | expected = TreeNode(
|
29 |
| - '4', |
30 |
| - TreeNode( |
31 |
| - '2', |
32 |
| - TreeNode('1', None, None), |
33 |
| - TreeNode('3', None, None) |
34 |
| - ), |
35 |
| - TreeNode( |
36 |
| - '6', |
37 |
| - TreeNode('5', None, None), |
38 |
| - TreeNode('7', None, None) |
39 |
| - ) |
| 27 | + "4", |
| 28 | + TreeNode("2", TreeNode("1", None, None), TreeNode("3", None, None)), |
| 29 | + TreeNode("6", TreeNode("5", None, None), TreeNode("7", None, None)), |
40 | 30 | )
|
41 | 31 | self.assertTreeEqual(
|
42 |
| - BinarySearchTree(['4', '2', '6', '1', '3', '5', '7']).data(), |
43 |
| - expected |
| 32 | + BinarySearchTree(["4", "2", "6", "1", "3", "5", "7"]).data(), expected |
44 | 33 | )
|
45 | 34 |
|
46 |
| - # Test can sort data |
47 | 35 | def test_can_sort_single_number(self):
|
48 |
| - self.assertEqual(BinarySearchTree(['2']).sorted_data(), ['2']) |
| 36 | + expected = ["2"] |
| 37 | + self.assertEqual(BinarySearchTree(["2"]).sorted_data(), expected) |
49 | 38 |
|
50 | 39 | def test_can_sort_if_second_number_is_smaller_than_first(self):
|
51 |
| - self.assertEqual( |
52 |
| - BinarySearchTree(['2', '1']).sorted_data(), ['1', '2'] |
53 |
| - ) |
| 40 | + expected = ["1", "2"] |
| 41 | + self.assertEqual(BinarySearchTree(["2", "1"]).sorted_data(), expected) |
54 | 42 |
|
55 | 43 | def test_can_sort_if_second_number_is_same_as_first(self):
|
56 |
| - self.assertEqual( |
57 |
| - BinarySearchTree(['2', '2']).sorted_data(), ['2', '2'] |
58 |
| - ) |
| 44 | + expected = ["2", "2"] |
| 45 | + self.assertEqual(BinarySearchTree(["2", "2"]).sorted_data(), expected) |
59 | 46 |
|
60 | 47 | def test_can_sort_if_second_number_is_greater_than_first(self):
|
61 |
| - self.assertEqual( |
62 |
| - BinarySearchTree(['2', '3']).sorted_data(), ['2', '3'] |
63 |
| - ) |
| 48 | + expected = ["2", "3"] |
| 49 | + self.assertEqual(BinarySearchTree(["2", "3"]).sorted_data(), expected) |
64 | 50 |
|
65 | 51 | def test_can_sort_complex_tree(self):
|
| 52 | + expected = ["1", "2", "3", "5", "6", "7"] |
66 | 53 | self.assertEqual(
|
67 |
| - BinarySearchTree(['2', '1', '3', '6', '7', '5']).sorted_data(), |
68 |
| - ['1', '2', '3', '5', '6', '7'] |
| 54 | + BinarySearchTree(["2", "1", "3", "6", "7", "5"]).sorted_data(), expected |
69 | 55 | )
|
70 | 56 |
|
71 | 57 | # Utilities
|
@@ -95,5 +81,5 @@ def compare_tree(self, tree_one, tree_two):
|
95 | 81 | raise AssertionError
|
96 | 82 |
|
97 | 83 |
|
98 |
| -if __name__ == '__main__': |
| 84 | +if __name__ == "__main__": |
99 | 85 | unittest.main()
|
0 commit comments