1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.math.estimation;
19
20 import org.apache.commons.math.estimation.EstimatedParameter;
21
22 import junit.framework.*;
23
24 public class EstimatedParameterTest
25 extends TestCase {
26
27 public EstimatedParameterTest(String name) {
28 super(name);
29 }
30
31 public void testConstruction() {
32
33 EstimatedParameter p1 = new EstimatedParameter("p1", 1.0);
34 assertTrue(p1.getName().equals("p1"));
35 checkValue(p1.getEstimate(), 1.0);
36 assertTrue(! p1.isBound());
37
38 EstimatedParameter p2 = new EstimatedParameter("p2", 2.0, true);
39 assertTrue(p2.getName().equals("p2"));
40 checkValue(p2.getEstimate(), 2.0);
41 assertTrue(p2.isBound());
42
43 }
44
45 public void testBound() {
46
47 EstimatedParameter p = new EstimatedParameter("p", 0.0);
48 assertTrue(! p.isBound());
49 p.setBound(true);
50 assertTrue(p.isBound());
51 p.setBound(false);
52 assertTrue(! p.isBound());
53
54 }
55
56 public void testEstimate() {
57
58 EstimatedParameter p = new EstimatedParameter("p", 0.0);
59 checkValue(p.getEstimate(), 0.0);
60
61 for (double e = 0.0; e < 10.0; e += 0.5) {
62 p.setEstimate(e);
63 checkValue(p.getEstimate(), e);
64 }
65
66 }
67
68 public static Test suite() {
69 return new TestSuite(EstimatedParameterTest.class);
70 }
71
72 private void checkValue(double value, double expected) {
73 assertTrue(Math.abs(value - expected) < 1.0e-10);
74 }
75
76 }