|
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