//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testPower()
        public virtual void testPower()
        {
            assertComplexEquals(ComplexMathUtils.pow(Z1, 0), new ComplexNumber(1, 0));
            assertComplexEquals(ComplexMathUtils.pow(X, new ComplexNumber(0, 0)), new ComplexNumber(1, 0));
            assertComplexEquals(ComplexMathUtils.sqrt(ComplexMathUtils.pow(Z1, 2)), Z1);
            assertComplexEquals(ComplexMathUtils.sqrt(ComplexMathUtils.pow(Z2, 2)), Z2);
            assertComplexEquals(ComplexMathUtils.pow(ComplexMathUtils.pow(Z1, 1.0 / 3), 3), Z1);
            assertComplexEquals(ComplexMathUtils.pow(ComplexMathUtils.pow(X, ComplexMathUtils.inverse(Z2)), Z2), new ComplexNumber(X, 0));
            assertComplexEquals(ComplexMathUtils.pow(ComplexMathUtils.pow(Z1, ComplexMathUtils.inverse(Z2)), Z2), Z1);
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testSqrt()
        public virtual void testSqrt()
        {
            ComplexNumber z1 = new ComplexNumber(3, -2);
            ComplexNumber z2 = new ComplexNumber(-3, 4);
            ComplexNumber z3 = new ComplexNumber(-3, -4);

            ComplexNumber rZ1 = ComplexMathUtils.sqrt(z1);
            ComplexNumber rZ2 = ComplexMathUtils.sqrt(z2);
            ComplexNumber rZ3 = ComplexMathUtils.sqrt(z3);

            assertComplexEquals(ComplexMathUtils.pow(z1, 0.5), rZ1);
            assertComplexEquals(ComplexMathUtils.pow(z2, 0.5), rZ2);
            assertComplexEquals(ComplexMathUtils.pow(z3, 0.5), rZ3);

            assertComplexEquals(z1, ComplexMathUtils.square(rZ1));
            assertComplexEquals(z2, ComplexMathUtils.square(rZ2));
            assertComplexEquals(z3, ComplexMathUtils.square(rZ3));
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testNull()
        public virtual void testNull()
        {
            try
            {
                ComplexMathUtils.add(null, Z1);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.add(Z1, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.add(X, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.add(null, X);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.arg(null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.conjugate(null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.divide(null, Z1);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.divide(Z1, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.divide(X, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.divide(null, X);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.exp(null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.inverse(null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.log(null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.mod(null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.multiply(null, Z1);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.multiply(Z1, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.multiply(X, (ComplexNumber)null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.multiply(null, X);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.pow(null, Z1);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.pow(Z1, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.pow(X, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.pow(null, X);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.sqrt(null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.subtract(null, Z1);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.subtract(Z1, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.subtract(X, null);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
            try
            {
                ComplexMathUtils.subtract(null, X);
            }
//JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#:
//ORIGINAL LINE: catch (final IllegalArgumentException e)
            catch (System.ArgumentException e)
            {
                assertStackTraceElement(e.StackTrace);
            }
        }