public void Division_return_correct_result()
        {
            var expected = new Complex(-0.410256, 0.051282);

            ComplexTestUtils.AssertAreEqual(expected, _c1 / _c2);
            ComplexTestUtils.AssertAreEqual(expected, Complex.Divide(_c1, _c2));
        }
        public void Negation_return_correct_result()
        {
            var expected = new Complex(-1, 2);

            ComplexTestUtils.AssertAreEqual(expected, -_c1);
            ComplexTestUtils.AssertAreEqual(expected, Complex.Negate(_c1));
        }
        public void Multiplication_return_correct_result()
        {
            var expected = new Complex(6, 10.5);

            ComplexTestUtils.AssertAreEqual(expected, _c1 * _c2);
            ComplexTestUtils.AssertAreEqual(expected, Complex.Multiply(_c1, _c2));
        }
        public void Subtraction_return_correct_result()
        {
            var expected = new Complex(4, -6.5);

            ComplexTestUtils.AssertAreEqual(expected, _c1 - _c2);
            ComplexTestUtils.AssertAreEqual(expected, Complex.Subtract(_c1, _c2));
        }
        public void Addition_return_correct_result()
        {
            var expected = new Complex(-2, 2.5);

            ComplexTestUtils.AssertAreEqual(expected, _c1 + _c2);
            ComplexTestUtils.AssertAreEqual(expected, Complex.Add(_c1, _c2));
        }
        public void CastOperators_work_correctly()
        {
            var expected = new Complex(123, 0);

            ComplexTestUtils.AssertAreEqual(expected, (Complex)((decimal)123));
            ComplexTestUtils.AssertAreEqual(expected, (byte)123);
            ComplexTestUtils.AssertAreEqual(expected, (double)123);
            ComplexTestUtils.AssertAreEqual(expected, (short)123);
            ComplexTestUtils.AssertAreEqual(expected, (int)123);
            ComplexTestUtils.AssertAreEqual(expected, (long)123);
            ComplexTestUtils.AssertAreEqual(expected, (sbyte)123);
            ComplexTestUtils.AssertAreEqual(expected, (float)123);
            ComplexTestUtils.AssertAreEqual(expected, (ushort)123);
            ComplexTestUtils.AssertAreEqual(expected, (uint)123);
            ComplexTestUtils.AssertAreEqual(expected, (ulong)123);
        }
 public void Log_natural_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(0.804718, -1.107148, Complex.Log(_c1));
 }
 public void FromPolarCoordinates_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(_c1, Complex.FromPolarCoordinates(2.23607, -1.10715));
 }
 public void Tan_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(0.033812, -1.014793, Complex.Tan(_c1));
 }
 public void Sinh_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(-0.489056, -1.403119, Complex.Sinh(_c1));
 }
 public void Reciprocal_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(0.2, 0.4, Complex.Reciprocal(_c1));
 }
 public void Pow_scalar_power_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(-0.026858, 0.297861, Complex.Pow(_c1, -1.5));
 }
 public void Asin_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(0.427078, -1.528570, Complex.Asin(_c1));
 }
 public void Acos_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(1.143717, 1.528570, Complex.Acos(_c1));
 }
 public void Log_custom_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(0.313736, -0.431645, Complex.Log(_c1, 13));
 }
 public void Log10_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(0.349485, -0.480282, Complex.Log10(_c1));
 }
 public void Atan_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(1.338972, -0.402359, Complex.Atan(_c1));
 }
 public void Pow_complex_power_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(10.3054309, 7.989778, Complex.Pow(_c1, _c2));
 }
 public void Conjugate_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(1, 2, Complex.Conjugate(_c1));
 }
 public void Sin_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(3.165778, -1.959601, Complex.Sin(_c1));
 }
 public void Cos_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(2.032723, 3.051897, Complex.Cos(_c1));
 }
 public void Sqrt_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(1.272019, -0.786151, Complex.Sqrt(_c1));
 }
 public void Cosh_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(-0.642148, -1.068607, Complex.Cosh(_c1));
 }
 public void Tanh_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(1.166736, 0.243458, Complex.Tanh(_c1));
 }
 public void Exp_returns_correct_result()
 {
     ComplexTestUtils.AssertAreEqual(-1.131204, -2.471726, Complex.Exp(_c1));
 }