88
99public class ConvexHullTest {
1010
11- @ Test
12- void testConvexHullBruteForce () {
13- List <Point > points = Arrays .asList (new Point (0 , 0 ), new Point (1 , 0 ), new Point (10 , 1 ));
14- List <Point > expected = Arrays .asList (new Point (0 , 0 ), new Point (1 , 0 ), new Point (10 , 1 ));
15- assertEquals (expected , ConvexHull .convexHullBruteForce (points ));
16-
17- points = Arrays .asList (new Point (0 , 0 ), new Point (1 , 0 ), new Point (10 , 0 ));
18- expected = Arrays .asList (new Point (0 , 0 ), new Point (10 , 0 ));
19- assertEquals (expected , ConvexHull .convexHullBruteForce (points ));
20-
21- points = Arrays .asList (new Point (0 , 3 ), new Point (2 , 2 ), new Point (1 , 1 ), new Point (2 , 1 ), new Point (3 , 0 ), new Point (0 , 0 ), new Point (3 , 3 ), new Point (2 , -1 ), new Point (2 , -4 ), new Point (1 , -3 ));
22- expected = Arrays .asList (new Point (2 , -4 ), new Point (1 , -3 ), new Point (0 , 0 ), new Point (3 , 0 ), new Point (0 , 3 ), new Point (3 , 3 ));
23- assertEquals (expected , ConvexHull .convexHullBruteForce (points ));
24- }
25-
2611 @ Test
2712 void testConvexHullRecursive () {
2813 List <Point > points = Arrays .asList (new Point (0 , 0 ), new Point (1 , 0 ), new Point (10 , 1 ));
@@ -33,8 +18,29 @@ void testConvexHullRecursive() {
3318 expected = Arrays .asList (new Point (0 , 0 ), new Point (10 , 0 ));
3419 assertEquals (expected , ConvexHull .convexHullRecursive (points ));
3520
36- points = Arrays .asList (new Point (0 , 3 ), new Point (2 , 2 ), new Point (1 , 1 ), new Point (2 , 1 ), new Point (3 , 0 ), new Point (0 , 0 ), new Point (3 , 3 ), new Point (2 , -1 ), new Point (2 , -4 ), new Point (1 , -3 ));
37- expected = Arrays .asList (new Point (2 , -4 ), new Point (1 , -3 ), new Point (0 , 0 ), new Point (3 , 0 ), new Point (0 , 3 ), new Point (3 , 3 ));
38- assertEquals (expected , ConvexHull .convexHullRecursive (points ));
21+ points = Arrays .asList (
22+ new Point (0 , 3 ),
23+ new Point (2 , 2 ),
24+ new Point (1 , 1 ),
25+ new Point (2 , 1 ),
26+ new Point (3 , 0 ),
27+ new Point (0 , 0 ),
28+ new Point (3 , 3 ),
29+ new Point (2 , -1 ),
30+ new Point (2 , -4 ),
31+ new Point (1 , -3 )
32+ );
33+
34+ // Updated expected hull to match the output of monotone chain
35+ List <Point > expectedHull = Arrays .asList (
36+ new Point (2 , -4 ),
37+ new Point (3 , 0 ),
38+ new Point (3 , 3 ),
39+ new Point (0 , 3 ),
40+ new Point (0 , 0 ),
41+ new Point (1 , -3 )
42+ );
43+
44+ assertEquals (expectedHull , ConvexHull .convexHullRecursive (points ));
3945 }
4046}
0 commit comments