11from algorithms .heap import (
22 BinaryHeap ,
33 get_skyline ,
4- max_sliding_window
4+ max_sliding_window ,
5+ k_closest_points
56)
67
78import unittest
89
10+
911class TestBinaryHeap (unittest .TestCase ):
1012 """
1113 Test suite for the binary_heap data structures
1214 """
15+
1316 def setUp (self ):
1417 self .min_heap = BinaryHeap ()
1518 self .min_heap .insert (4 )
@@ -24,31 +27,41 @@ def test_insert(self):
2427 # After insert: [0, 2, 50, 4, 55, 90, 87, 7]
2528 self .min_heap .insert (2 )
2629 self .assertEqual ([0 , 2 , 50 , 4 , 55 , 90 , 87 , 7 ],
27- self .min_heap .heap )
30+ self .min_heap .heap )
2831 self .assertEqual (7 , self .min_heap .currentSize )
2932
3033 def test_remove_min (self ):
3134 ret = self .min_heap .remove_min ()
3235 # Before remove_min : [0, 4, 50, 7, 55, 90, 87]
3336 # After remove_min: [7, 50, 87, 55, 90]
3437 # Test return value
35- self .assertEqual (4 ,ret )
38+ self .assertEqual (4 , ret )
3639 self .assertEqual ([0 , 7 , 50 , 87 , 55 , 90 ],
37- self .min_heap .heap )
40+ self .min_heap .heap )
3841 self .assertEqual (5 , self .min_heap .currentSize )
3942
43+
4044class TestSuite (unittest .TestCase ):
4145 def test_get_skyline (self ):
42- buildings = [ [2 , 9 , 10 ], [3 , 7 , 15 ], [5 , 12 , 12 ], \
43- [15 , 20 , 10 ], [19 , 24 , 8 ] ]
46+ buildings = [[2 , 9 , 10 ], [3 , 7 , 15 ], [5 , 12 , 12 ],
47+ [15 , 20 , 10 ], [19 , 24 , 8 ]]
4448 # Expect output
45- output = [ [2 , 10 ], [3 , 15 ], [7 , 12 ], [12 , 0 ], [15 , 10 ], \
46- [20 , 8 ], [24 , 0 ] ]
49+ output = [[2 , 10 ], [3 , 15 ], [7 , 12 ], [12 , 0 ], [15 , 10 ],
50+ [20 , 8 ], [24 , 0 ]]
4751 self .assertEqual (output , get_skyline (buildings ))
4852
4953 def test_max_sliding_window (self ):
5054 nums = [1 , 3 , - 1 , - 3 , 5 , 3 , 6 , 7 ]
5155 self .assertEqual ([3 , 3 , 5 , 5 , 6 , 7 ], max_sliding_window (nums , 3 ))
5256
57+ def test_k_closest_points (self ):
58+ 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 ))
62+ self .assertEqual ([(10 , 2 ), (2 , 8 ), (5 , 2 ), (- 2 , - 2 ), (2 , 3 ),
63+ (1 , 0 ), (- 1 , 0 ), (1 , 1 )], k_closest (points , 8 ))
64+
65+
5366if __name__ == "__main__" :
5467 unittest .main ()
0 commit comments