public void SmallDiffs() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(0.3f, 0.30000003f).Should().BeTrue(); FloatExtensions.NearlyEqual(-0.3f, -0.30000003f).Should().BeTrue(); } }
public void Mid() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(1.0000001f, 1.0000002f).Should().BeTrue(); FloatExtensions.NearlyEqual(1.0000002f, 1.0000001f).Should().BeTrue(); FloatExtensions.NearlyEqual(1.0002f, 1.0001f).Should().BeFalse(); FloatExtensions.NearlyEqual(1.0001f, 1.0002f).Should().BeFalse(); } }
public void SmallNeg() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(-0.000000001000001f, -0.000000001000002f).Should().BeTrue(); FloatExtensions.NearlyEqual(-0.000000001000002f, -0.000000001000001f).Should().BeTrue(); FloatExtensions.NearlyEqual(-0.000000000001002f, -0.000000000001001f).Should().BeFalse(); FloatExtensions.NearlyEqual(-0.000000000001001f, -0.000000000001002f).Should().BeFalse(); } }
public void BigNeg() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(-1000000f, -1000001f).Should().BeTrue(); FloatExtensions.NearlyEqual(-1000001f, -1000000f).Should().BeTrue(); FloatExtensions.NearlyEqual(-10000f, -10001f).Should().BeFalse(); FloatExtensions.NearlyEqual(-10001f, -10000f).Should().BeFalse(); } }
public void Infinities() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(float.PositiveInfinity, float.PositiveInfinity).Should().BeTrue(); FloatExtensions.NearlyEqual(float.NegativeInfinity, float.NegativeInfinity).Should().BeTrue(); FloatExtensions.NearlyEqual(float.NegativeInfinity, float.PositiveInfinity).Should().BeFalse(); FloatExtensions.NearlyEqual(float.PositiveInfinity, float.MaxValue).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NegativeInfinity, -float.MaxValue).Should().BeFalse(); } }
public void Opposite() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(1.000000001f, -1.0f).Should().BeFalse(); FloatExtensions.NearlyEqual(-1.0f, 1.000000001f).Should().BeFalse(); FloatExtensions.NearlyEqual(-1.000000001f, 1.0f).Should().BeFalse(); FloatExtensions.NearlyEqual(1.0f, -1.000000001f).Should().BeFalse(); FloatExtensions.NearlyEqual(10 * float.MinValue, 10 * -float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(10000 * float.MinValue, 10000 * -float.MinValue).Should().BeFalse(); } }
public void ExtremeMax() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(float.MaxValue, float.MaxValue).Should().BeTrue(); FloatExtensions.NearlyEqual(float.MaxValue, -float.MaxValue).Should().BeFalse(); FloatExtensions.NearlyEqual(-float.MaxValue, float.MaxValue).Should().BeFalse(); FloatExtensions.NearlyEqual(float.MaxValue, float.MaxValue / 2).Should().BeTrue(); FloatExtensions.NearlyEqual(float.MaxValue, -float.MaxValue / 2).Should().BeFalse(); FloatExtensions.NearlyEqual(-float.MaxValue, float.MaxValue / 2).Should().BeFalse(); } }
public void Ulp() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(float.MinValue, float.MinValue).Should().BeTrue(); FloatExtensions.NearlyEqual(-float.MinValue, float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(float.MinValue, -float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(float.MinValue, 0.0f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(-float.MinValue, 0.0f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, -float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(0.000000001f, -float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(0.000000001f, float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(float.MinValue, 0.000000001f).Should().BeFalse(); FloatExtensions.NearlyEqual(-float.MinValue, 0.000000001f).Should().BeFalse(); } }
public void NaN() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(float.NaN, float.NaN).Should().BeTrue(); FloatExtensions.NearlyEqual(float.NaN, 0.0f).Should().BeFalse(); FloatExtensions.NearlyEqual(-0.0f, float.NaN).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NaN, -0.0f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, float.NaN).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NaN, float.PositiveInfinity).Should().BeFalse(); FloatExtensions.NearlyEqual(float.PositiveInfinity, float.NaN).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NaN, float.NegativeInfinity).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NegativeInfinity, float.NaN).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NaN, float.MaxValue).Should().BeFalse(); FloatExtensions.NearlyEqual(float.MaxValue, float.NaN).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NaN, -float.MaxValue).Should().BeFalse(); FloatExtensions.NearlyEqual(-float.MaxValue, float.NaN).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NaN, float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(float.MinValue, float.NaN).Should().BeFalse(); FloatExtensions.NearlyEqual(float.NaN, -float.MinValue).Should().BeFalse(); FloatExtensions.NearlyEqual(-float.MinValue, float.NaN).Should().BeFalse(); } }
public void Zero() { using (new AssertionScope()) { FloatExtensions.NearlyEqual(0.0f, 0.0f).Should().BeTrue(); FloatExtensions.NearlyEqual(0.0f, -0.0f).Should().BeTrue(); FloatExtensions.NearlyEqual(-0.0f, -0.0f).Should().BeTrue(); FloatExtensions.NearlyEqual(0.00000001f, 0.0f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, 0.00000001f).Should().BeFalse(); FloatExtensions.NearlyEqual(-0.00000001f, 0.0f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, -0.00000001f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, 1e-40f, 0.01f).Should().BeTrue(); FloatExtensions.NearlyEqual(1e-40f, 0.0f, 0.01f).Should().BeTrue(); FloatExtensions.NearlyEqual(1e-40f, 0.0f, 0.000001f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, 1e-40f, 0.000001f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, -1e-40f, 0.1f).Should().BeTrue(); FloatExtensions.NearlyEqual(-1e-40f, 0.0f, 0.1f).Should().BeTrue(); FloatExtensions.NearlyEqual(-1e-40f, 0.0f, 0.00000001f).Should().BeFalse(); FloatExtensions.NearlyEqual(0.0f, -1e-40f, 0.00000001f).Should().BeFalse(); } }