/// <summary> /// Protected Constructor /// </summary> protected CalculatorFixtureBase() { Calculator = new TCalculator(); Comparer = new QuantityComparer(Precision); // TODO: should be a first class unit test closer to the primary QuantityComparer assembly(ies)... Assert.That(Comparer.Epsilon, Is.EqualTo(Math.Pow(10d, Precision))); }
/// <summary> /// Disposes the object. /// </summary> public override void Dispose() { var expectedValue = _expected(_aQty.ToBase().Value, _bQty.ToBase().Value); var expectedQty = new Quantity(expectedValue, Dimensions.ToArray()); var calc = _actual(Calculator); Assert.That(calc, Is.Not.Null); var actualQty = calc(_aQty, _bQty); var comparer = new QuantityComparer(-4); Assert.That(comparer.Epsilon, Is.EqualTo(1e-4)); Assert.That(comparer.Compare(expectedQty, actualQty), Is.EqualTo(0), "Given {{{0}}}, {{{1}}} and {{{2}}} expected {{{3}}} but was {{{4}}}:" + " values were {{{5}}} and {{{6}}}", _type, _aQty, _bQty, expectedQty, actualQty, expectedQty.Value.ToString("R"), actualQty.Value.ToString("R")); Console.WriteLine( "Given {{{0}}}, {{{1}}} and {{{2}}} expected {{{3}}} but was {{{4}}}:" + " values were {{{5}}} and {{{6}}}", _type, _aQty, _bQty, expectedQty, actualQty, expectedQty.Value.ToString("R"), actualQty.Value.ToString("R")); }