1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.geometry.hull.euclidean.twod;
18
19 import java.util.ArrayList;
20 import java.util.Collection;
21
22 import org.apache.commons.geometry.core.precision.EpsilonDoublePrecisionContext;
23 import org.apache.commons.geometry.euclidean.twod.Vector2D;
24 import org.junit.Test;
25
26
27
28
29 public class MonotoneChainTest extends ConvexHullGenerator2DAbstractTest {
30
31 @Override
32 protected ConvexHullGenerator2D createConvexHullGenerator(final boolean includeCollinearPoints) {
33 return new MonotoneChain(includeCollinearPoints, TEST_PRECISION);
34 }
35
36
37
38 @Test(expected = IllegalStateException.class)
39 public void testConvergenceException() {
40
41 final Collection<Vector2D> points = new ArrayList<>();
42
43 points.add(Vector2D.of(1, 1));
44 points.add(Vector2D.of(1, 5));
45 points.add(Vector2D.of(0, 7));
46 points.add(Vector2D.of(1, 10));
47 points.add(Vector2D.of(1, 20));
48 points.add(Vector2D.of(20, 20));
49 points.add(Vector2D.of(20, 40));
50 points.add(Vector2D.of(40, 1));
51
52
53 new MonotoneChain(true, new EpsilonDoublePrecisionContext(1)).generate(points);
54 }
55 }