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.junit.Test;
20 import org.junit.Assert;
21
22
23
24
25 public class BaseOptimizerTest {
26 @Test
27 public void testDefault() {
28 final DummyOptimizer dummy = new DummyOptimizer(null);
29
30 final Object result = dummy.optimize();
31
32
33 Assert.assertEquals(null, dummy.getConvergenceChecker());
34
35 Assert.assertEquals(Integer.MAX_VALUE, dummy.getMaxIterations());
36
37 Assert.assertEquals(0, dummy.getMaxEvaluations());
38 }
39
40 @Test
41 public void testParseOptimizationData() {
42 final DummyOptimizer dummy = new DummyOptimizer(null);
43
44 final ConvergenceChecker<Object> checker = new ConvergenceChecker<Object>() {
45 @Override
46 public boolean converged(int iteration,
47 Object previous,
48 Object current) {
49 return true;
50 }
51 };
52
53 final int maxEval = 123;
54 final int maxIter = 4;
55 final Object result = dummy.optimize(checker,
56 new MaxEval(maxEval),
57 new MaxIter(maxIter));
58
59 Assert.assertEquals(checker, dummy.getConvergenceChecker());
60 Assert.assertEquals(maxIter, dummy.getMaxIterations());
61 Assert.assertEquals(maxEval, dummy.getMaxEvaluations());
62 }
63 }
64
65 class DummyOptimizer extends BaseOptimizer<Object> {
66
67
68
69 DummyOptimizer(ConvergenceChecker<Object> checker) {
70 super(checker);
71 }
72
73 @Override
74 protected Object doOptimize() {
75 return new Object();
76 }
77 }