1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.math4.legacy.fitting.leastsquares;
18
19 import org.apache.commons.math4.legacy.fitting.leastsquares.LeastSquaresProblem.Evaluation;
20 import org.apache.commons.math4.legacy.linear.RealMatrix;
21 import org.apache.commons.math4.legacy.linear.RealVector;
22 import org.apache.commons.math4.legacy.optim.ConvergenceChecker;
23 import org.junit.Assert;
24 import org.junit.Test;
25
26
27 public class EvaluationRmsCheckerTest {
28
29
30 @Test
31 public void testConverged() {
32
33 ConvergenceChecker<Evaluation> checker = new EvaluationRmsChecker(0.1, 1);
34 Evaluation e200 = mockEvaluation(200);
35 Evaluation e1 = mockEvaluation(1);
36
37
38
39 Assert.assertTrue(checker.converged(0, e200, mockEvaluation(210)));
40
41 Assert.assertTrue(checker.converged(0, e1, mockEvaluation(1.9)));
42
43 Assert.assertTrue(checker.converged(0, e1, mockEvaluation(1.01)));
44
45 Assert.assertFalse(checker.converged(0, e200, mockEvaluation(300)));
46 }
47
48
49
50
51
52
53
54 private static Evaluation mockEvaluation(final double rms) {
55 return new Evaluation() {
56 @Override
57 public RealMatrix getCovariances(double threshold) {
58 return null;
59 }
60
61 @Override
62 public RealVector getSigma(double covarianceSingularityThreshold) {
63 return null;
64 }
65
66 @Override
67 public double getRMS() {
68 return rms;
69 }
70
71 @Override
72 public RealMatrix getJacobian() {
73 return null;
74 }
75
76 @Override
77 public double getCost() {
78 return 0;
79 }
80
81 @Override
82 public double getChiSquare() {
83 return 0;
84 }
85
86 @Override
87 public double getReducedChiSquare(int n) {
88 return 0;
89 }
90
91 @Override
92 public RealVector getResiduals() {
93 return null;
94 }
95
96 @Override
97 public RealVector getPoint() {
98 return null;
99 }
100 };
101 }
102 }