KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mockobjects > ExpectationDoubleValue


1 package com.mockobjects;
2
3 import com.mockobjects.util.AssertMo;
4
5
6 public class ExpectationDoubleValue extends AbstractExpectation {
7     private Double JavaDoc expectedValue = null;
8     private double expectedError = 0.0;
9     private boolean expectNothing = false;
10     private Double JavaDoc actualValue = null;
11
12     
13     public ExpectationDoubleValue(String JavaDoc name) {
14         super(name);
15         clearActual();
16     }
17     
18     public void clearActual() {
19         actualValue = null;
20     }
21     
22     public void setActual( double value ) {
23         actualValue = new Double JavaDoc(value);
24         if (shouldCheckImmediately()) {
25             verify();
26         }
27     }
28     
29     public void setExpected( double value, double error ) {
30         expectedValue = new Double JavaDoc(value);
31         expectedError = Math.abs(error);
32         setHasExpectations();
33     }
34     
35     public void setExpectNothing() {
36         expectNothing = true;
37         clearActual();
38         setHasExpectations();
39     }
40     
41     public void verify() {
42         if( expectNothing ) {
43             AssertMo.assertNull( myName + " expected no value",
44                                  actualValue );
45             
46         } else if( expectedValue != null ) {
47             AssertMo.assertNotNull( myName + " expected a value",
48                                     actualValue );
49             
50             double actualError = Math.abs(
51                 actualValue.doubleValue() - expectedValue.doubleValue() );
52             
53             AssertMo.assertTrue(
54                 myName + " expected a value within " + expectedError +
55                 " of " + expectedValue + ", was " + actualValue,
56                 actualError <= expectedError );
57         }
58     }
59 }
60
Popular Tags