public void GivenBaseNumberWhenSubtractDoubleShouldReturnNewBaseNumberWithDoubleSubtractedFromSource() { var uom = _mileUnitOfMeasure; var number = new NumericValue(uom.ToModelUom(), 3.62); var result = number.Subtract(1.23); Assert.AreEqual(2.39, result.Value, Epsilon); }
public void GivenBaseNumberWhenSubtractBaseNumberThenResultIsInOriginalUom() { var originalUom = InternalUnitSystemManager.Instance.UnitOfMeasures["m"]; var originalNumber = new NumericValue(originalUom.ToModelUom(), 1.75); var secondUom = InternalUnitSystemManager.Instance.UnitOfMeasures["ft"]; var secondNumber = new NumericValue(secondUom.ToModelUom(), 3.5); var expected = 0.6832; //1.75m - (3.5ft -> m) var actual = originalNumber.Subtract(secondNumber); Assert.AreEqual(expected, actual.Value, Epsilon); }
public void GivenBaseNumbersWithIncompatibleUnitsWhenSubtractThenException() { var originalUom = InternalUnitSystemManager.Instance.UnitOfMeasures["m"]; var originalNumber = new NumericValue(originalUom.ToModelUom(), 1.75); var secondUom = InternalUnitSystemManager.Instance.UnitOfMeasures["C"]; var secondNumber = new NumericValue(secondUom.ToModelUom(), 3.5); Assert.Throws<InvalidOperationException>(() => originalNumber.Subtract(secondNumber)); }
public void GivenTwoBaseNumbersWithSameUomWhenSubtractedReturnNewBaseNumberWithDifferenceAsSourceValue() { var uom = InternalUnitSystemManager.Instance.UnitOfMeasures["C"]; var originalNumber = new NumericValue(uom.ToModelUom(), 22); var secondNumber = new NumericValue(uom.ToModelUom(), 13); var result = originalNumber.Subtract(secondNumber); Assert.AreEqual(9, result.Value); }