1 package com.mockobjects; 2 3 import com.mockobjects.util.AssertMo; 4 5 6 public class ExpectationDoubleValue extends AbstractExpectation { 7 private Double expectedValue = null; 8 private double expectedError = 0.0; 9 private boolean expectNothing = false; 10 private Double actualValue = null; 11 12 13 public ExpectationDoubleValue(String 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 (value); 24 if (shouldCheckImmediately()) { 25 verify(); 26 } 27 } 28 29 public void setExpected( double value, double error ) { 30 expectedValue = new Double (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 |