1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.math4.legacy.optim;
18
19 import org.apache.commons.math4.legacy.exception.NotStrictlyPositiveException;
20 import org.junit.Test;
21 import org.junit.Assert;
22
23 public class SimplePointCheckerTest {
24 @Test(expected=NotStrictlyPositiveException.class)
25 public void testIterationCheckPrecondition() {
26 new SimplePointChecker<>(1e-1, 1e-2, 0);
27 }
28
29 @Test
30 public void testIterationCheck() {
31 final int max = 10;
32 final SimplePointChecker<PointValuePair> checker
33 = new SimplePointChecker<>(1e-1, 1e-2, max);
34 Assert.assertTrue(checker.converged(max, null, null));
35 Assert.assertTrue(checker.converged(max + 1, null, null));
36 }
37
38 @Test
39 public void testIterationCheckDisabled() {
40 final SimplePointChecker<PointValuePair> checker
41 = new SimplePointChecker<>(1e-8, 1e-8);
42
43 final PointValuePair a = new PointValuePair(new double[] { 1d }, 1d);
44 final PointValuePair b = new PointValuePair(new double[] { 10d }, 10d);
45
46 Assert.assertFalse(checker.converged(-1, a, b));
47 Assert.assertFalse(checker.converged(0, a, b));
48 Assert.assertFalse(checker.converged(1000000, a, b));
49
50 Assert.assertTrue(checker.converged(-1, a, a));
51 Assert.assertTrue(checker.converged(-1, b, b));
52 }
53 }