public void CanCalculateDifferenceDecimalsWithHighPrecision() { var expected = 95217168582.206969750145956m; var actual = 95217168582.20696975014595521m; var result = Numerics.Difference(expected, actual, ToleranceMode.Linear); Assert.That(result, Is.EqualTo(0.00000000000000079M)); }
public void CanCompareMidRangeDecimalAndDouble() { var expected = 3.14159m; var actual = 2.718281d; var result = Numerics.Difference(expected, actual, ToleranceMode.Linear); Assert.That(result, Is.EqualTo(0.423309)); }
public void CanCompareDecimalAndHighDouble() { var expected = Convert.ToDouble(decimal.MaxValue) * 1.1; var actual = decimal.MaxValue; var result = Numerics.Difference(expected, actual, ToleranceMode.Linear); Assert.That(result, Is.EqualTo(7.9228162514264408E+27)); }
public void DifferenceForNonNumericTypesReturnsNaN() { Assert.That(Numerics.Difference(new object(), new object(), tenPercent.Mode), Is.EqualTo(double.NaN)); }
public void CanCalculatePercentDifference() { Assert.That(Numerics.Difference(10000m, 8500m, tenPercent.Mode), Is.EqualTo(15)); Assert.That(Numerics.Difference(10000m, 11500m, tenPercent.Mode), Is.EqualTo(-15)); }
public void CanCalculateAbsoluteDifference() { Assert.That(Numerics.Difference(10000m, 9500m, absoluteTolerance.Mode), Is.EqualTo(500m)); Assert.That(Convert.ToDouble(Numerics.Difference(0.1, 0.05, absoluteTolerance.Mode)), Is.EqualTo(0.05).Within(0.00001)); Assert.That(Convert.ToDouble(Numerics.Difference(0.1, 0.15, absoluteTolerance.Mode)), Is.EqualTo(-0.05).Within(0.00001)); }