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 SimpleVectorValueCheckerTest {
24 @Test(expected=NotStrictlyPositiveException.class)
25 public void testIterationCheckPrecondition() {
26 new SimpleVectorValueChecker(1e-1, 1e-2, 0);
27 }
28
29 @Test
30 public void testIterationCheck() {
31 final int max = 10;
32 final SimpleVectorValueChecker checker = new SimpleVectorValueChecker(1e-1, 1e-2, max);
33 Assert.assertTrue(checker.converged(max, null, null));
34 Assert.assertTrue(checker.converged(max + 1, null, null));
35 }
36
37 @Test
38 public void testIterationCheckDisabled() {
39 final SimpleVectorValueChecker checker = new SimpleVectorValueChecker(1e-8, 1e-8);
40
41 final PointVectorValuePair a = new PointVectorValuePair(new double[] { 1d },
42 new double[] { 1d });
43 final PointVectorValuePair b = new PointVectorValuePair(new double[] { 10d },
44 new double[] { 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 }