-
Notifications
You must be signed in to change notification settings - Fork 21.1k
Expand file tree
/
Copy pathConvexHullTest.java
More file actions
46 lines (38 loc) · 1.45 KB
/
ConvexHullTest.java
File metadata and controls
46 lines (38 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.thealgorithms.geometry;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Arrays;
import java.util.List;
import org.junit.jupiter.api.Test;
public class ConvexHullTest {
@Test
void testConvexHullRecursive() {
List<Point> points = Arrays.asList(new Point(0, 0), new Point(1, 0), new Point(10, 1));
List<Point> expected = Arrays.asList(new Point(0, 0), new Point(1, 0), new Point(10, 1));
assertEquals(expected, ConvexHull.convexHullRecursive(points));
points = Arrays.asList(new Point(0, 0), new Point(1, 0), new Point(10, 0));
expected = Arrays.asList(new Point(0, 0), new Point(10, 0));
assertEquals(expected, ConvexHull.convexHullRecursive(points));
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)
);
// Updated expected hull to match the output of monotone chain
List<Point> expectedHull = Arrays.asList(
new Point(2, -4),
new Point(3, 0),
new Point(3, 3),
new Point(0, 3),
new Point(0, 0),
new Point(1, -3)
);
assertEquals(expectedHull, ConvexHull.convexHullRecursive(points));
}
}