Skip to content

Commit f4b346c

Browse files
bsushmithkeon
authored andcommitted
Add test cases for inorder traversal (keon#473)
* Add test cases for inorder traversal * Fix k_closest_points test cases
1 parent 7a4de8d commit f4b346c

File tree

2 files changed

+40
-32
lines changed

2 files changed

+40
-32
lines changed

tests/test_heap.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ def test_max_sliding_window(self):
5656

5757
def test_k_closest_points(self):
5858
points = [(1, 0), (2, 3), (5, 2), (1, 1), (2, 8), (10, 2), (-1, 0), (-2, -2)]
59-
self.assertEqual([(-1, 0), (1, 0)], k_closest(points, 2))
60-
self.assertEqual([(1, 1), (-1, 0), (1, 0)], k_closest(points, 3))
61-
self.assertEqual([(-2, -2), (1, 1), (1, 0), (-1, 0)], k_closest(points, 4))
59+
self.assertEqual([(-1, 0), (1, 0)], k_closest_points.k_closest(points, 2))
60+
self.assertEqual([(1, 1), (-1, 0), (1, 0)], k_closest_points.k_closest(points, 3))
61+
self.assertEqual([(-2, -2), (1, 1), (1, 0), (-1, 0)], k_closest_points.k_closest(points, 4))
6262
self.assertEqual([(10, 2), (2, 8), (5, 2), (-2, -2), (2, 3),
63-
(1, 0), (-1, 0), (1, 1)], k_closest(points, 8))
63+
(1, 0), (-1, 0), (1, 1)], k_closest_points.k_closest(points, 8))
6464

6565

6666
if __name__ == "__main__":

tests/test_tree.py

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,53 @@
22
preorder,
33
preorder_rec,
44
postorder,
5-
postorder_rec
5+
postorder_rec,
6+
inorder,
7+
inorder_rec
68
)
79

810
import unittest
911

12+
1013
class Node:
1114

1215
def __init__(self, val, left=None, right=None):
1316
self.val = val
1417
self.left = left
1518
self.right = right
16-
19+
1720

1821
class TestTraversal(unittest.TestCase):
19-
22+
2023
def test_preorder(self):
21-
n1 = Node(100)
22-
n2 = Node(50)
23-
n3 = Node(150)
24-
n4 = Node(25)
25-
n5 = Node(75)
26-
n6 = Node(125)
27-
n7 = Node(175)
28-
n1.left, n1.right = n2, n3
29-
n2.left, n2.right = n4, n5
30-
n3.left, n3.right = n6, n7
31-
self.assertEqual([100, 50, 25, 75, 150, 125, 175], preorder(n1))
32-
self.assertEqual([100, 50, 25, 75, 150, 125, 175], preorder_rec(n1))
33-
24+
tree = create_tree()
25+
self.assertEqual([100, 50, 25, 75, 150, 125, 175], preorder(tree))
26+
self.assertEqual([100, 50, 25, 75, 150, 125, 175], preorder_rec(tree))
27+
3428
def test_postorder(self):
35-
n1 = Node(100)
36-
n2 = Node(50)
37-
n3 = Node(150)
38-
n4 = Node(25)
39-
n5 = Node(75)
40-
n6 = Node(125)
41-
n7 = Node(175)
42-
n1.left, n1.right = n2, n3
43-
n2.left, n2.right = n4, n5
44-
n3.left, n3.right = n6, n7
45-
self.assertEqual([25, 75, 50, 125, 175, 150, 100], postorder(n1))
46-
self.assertEqual([25, 75, 50, 125, 175, 150, 100], postorder_rec(n1))
29+
tree = create_tree()
30+
self.assertEqual([25, 75, 50, 125, 175, 150, 100], postorder(tree))
31+
self.assertEqual([25, 75, 50, 125, 175, 150, 100], postorder_rec(tree))
32+
33+
def test_inorder(self):
34+
tree = create_tree()
35+
self.assertEqual([25, 50, 75, 100, 125, 150, 175], inorder(tree))
36+
self.assertEqual([25, 50, 75, 100, 125, 150, 175], inorder_rec(tree))
37+
38+
39+
def create_tree():
40+
n1 = Node(100)
41+
n2 = Node(50)
42+
n3 = Node(150)
43+
n4 = Node(25)
44+
n5 = Node(75)
45+
n6 = Node(125)
46+
n7 = Node(175)
47+
n1.left, n1.right = n2, n3
48+
n2.left, n2.right = n4, n5
49+
n3.left, n3.right = n6, n7
50+
return n1
51+
52+
53+
if __name__ == '__main__':
54+
unittest.main()

0 commit comments

Comments
 (0)