Example #1
0
        /// <summary>
        /// Asserts that the expected value and the actual value are equal.
        /// </summary>
        /// <param name="expected">The expected value.</param>
        /// <param name="actual">The actual value.</param>
        public static void AreEqual(Complex32 expected, Complex32 actual)
        {
            if (expected.IsNaN() && actual.IsNaN())
            {
                return;
            }

            if (expected.IsInfinity() && expected.IsInfinity())
            {
                return;
            }

            bool pass = expected.Real.AlmostEqual(actual.Real);

            if (!pass)
            {
                Assert.Fail("Real components are not equal. Expected:{0}; Actual:{1}", expected.Real, actual.Real);
            }

            pass = expected.Imaginary.AlmostEqual(actual.Imaginary);
            if (!pass)
            {
                Assert.Fail("Imaginary components are not equal. Expected:{0}; Actual:{1}", expected.Imaginary, actual.Imaginary);
            }
        }
Example #2
0
        public void CanDetermineIfNaN()
        {
            var complex = new Complex32(float.NaN, 1);

            Assert.IsTrue(complex.IsNaN(), "Real part is NaN.");
            complex = new Complex32(1, float.NaN);
            Assert.IsTrue(complex.IsNaN(), "Imaginary part is NaN.");
            complex = new Complex32(float.NaN, float.NaN);
            Assert.IsTrue(complex.IsNaN(), "Both parts are NaN.");
        }
Example #3
0
        public static void AlmostEqual(Complex32 expected, Complex32 actual)
        {
            if (expected.IsNaN() && actual.IsNaN() || expected.IsInfinity() && expected.IsInfinity())
            {
                return;
            }

            if (!expected.Real.AlmostEqual(actual.Real))
            {
                Assert.Fail("Real components are not equal. Expected:{0}; Actual:{1}", expected.Real, actual.Real);
            }

            if (!expected.Imaginary.AlmostEqual(actual.Imaginary))
            {
                Assert.Fail("Imaginary components are not equal. Expected:{0}; Actual:{1}", expected.Imaginary, actual.Imaginary);
            }
        }
 public void CanDetermineIfNaN()
 {
     var complex = new Complex32(float.NaN, 1);
     Assert.IsTrue(complex.IsNaN(), "Real part is NaN.");
     complex = new Complex32(1, float.NaN);
     Assert.IsTrue(complex.IsNaN(), "Imaginary part is NaN.");
     complex = new Complex32(float.NaN, float.NaN);
     Assert.IsTrue(complex.IsNaN(), "Both parts are NaN.");
 }