1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.hipparchus.optim;
23
24 import org.hipparchus.exception.MathIllegalArgumentException;
25 import org.junit.jupiter.api.Test;
26
27 import static org.junit.jupiter.api.Assertions.assertFalse;
28 import static org.junit.jupiter.api.Assertions.assertThrows;
29 import static org.junit.jupiter.api.Assertions.assertTrue;
30
31 class SimplePointCheckerTest {
32 @Test
33 void testIterationCheckPrecondition() {
34 assertThrows(MathIllegalArgumentException.class, () -> {
35 new SimplePointChecker<PointValuePair>(1e-1, 1e-2, 0);
36 });
37 }
38
39 @Test
40 void testIterationCheck() {
41 final int max = 10;
42 final SimplePointChecker<PointValuePair> checker
43 = new SimplePointChecker<PointValuePair>(1e-1, 1e-2, max);
44 assertTrue(checker.converged(max, null, null));
45 assertTrue(checker.converged(max + 1, null, null));
46 }
47
48 @Test
49 void testIterationCheckDisabled() {
50 final SimplePointChecker<PointValuePair> checker
51 = new SimplePointChecker<PointValuePair>(1e-8, 1e-8);
52
53 final PointValuePair a = new PointValuePair(new double[] { 1d }, 1d);
54 final PointValuePair b = new PointValuePair(new double[] { 10d }, 10d);
55
56 assertFalse(checker.converged(-1, a, b));
57 assertFalse(checker.converged(0, a, b));
58 assertFalse(checker.converged(1000000, a, b));
59
60 assertTrue(checker.converged(-1, a, a));
61 assertTrue(checker.converged(-1, b, b));
62 }
63 }