content: /*
   * This file was automatically generated by UTestGen and EvoSuite
   * Tue Mar 19 17:20:14 GMT 2024
   */
  
  package net.sf.javaml.core;
  
  import org.junit.jupiter.api.Test;
  import static org.junit.jupiter.api.Assertions.*;
  import org.junit.jupiter.api.Timeout;
  import java.util.concurrent.TimeUnit;
  import net.sf.javaml.core.Complex;
  import org.evosuite.runtime.EvoRunner;
  import org.evosuite.runtime.EvoRunnerParameters;
  import org.junit.runner.RunWith;
  
  @RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true) 
  public class Complex_Original_ESTest extends Complex_Original_ESTest_scaffolding {
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testPlusTaking2ArgumentsReturningComplexWhereAbsIsPositive() throws Throwable  {
        Complex arg1 = new Complex((-3604.02182107), (-3604.02182107));
        Complex plus = Complex.plus(arg1, arg1);
        assertEquals((-3604.02182107), arg1.im, 0.01);
        assertEquals((-7208.04364214), plus.re, 0.01);
        assertEquals((-3604.02182107), arg1.re, 0.01);
        assertEquals(10193.713076891549, plus.abs(), 0.01);
        assertEquals((-7208.04364214), plus.im, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testMultiplyTaking1And1ReturningComplexWhereAbsIsPositive() throws Throwable  {
        Complex arg0 = new Complex((-3604.02182107), (-3604.02182107));
        Complex multiply = Complex.multiply(arg0, (-3604.02182107));
        assertEquals((-3604.02182107), arg0.im, 0.01);
        assertEquals(1.2988973286748718E7, multiply.im, 0.01);
        assertEquals(1.8369182183421876E7, multiply.abs(), 0.01);
        assertEquals(1.2988973286748718E7, multiply.re, 0.01);
        assertEquals((-3604.02182107), arg0.re, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testConjugate() throws Throwable  {
        Complex complex = Complex.I;
        complex.conjugate();
        assertEquals((-1.0), complex.im, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testPlusTakingComplex() throws Throwable  {
        Complex arg0 = Complex.I;
        arg0.plus(arg0);
        assertEquals(1.0, arg0.im, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testPlusTaking2ArgumentsReturningComplexWhereAbsIsZero() throws Throwable  {
        Complex arg1 = Complex.I;
        Complex plus = Complex.plus(arg1, arg1);
        assertEquals(2.0, plus.abs(), 0.01);
        assertEquals(0.0, plus.re, 0.01);
        assertEquals(2.0, plus.im, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testTimesTakingComplex() throws Throwable  {
        Complex arg0 = Complex.I;
        arg0.times(arg0);
        assertEquals((-1.0), arg0.re, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testMinus() throws Throwable  {
        Complex arg0 = Complex.I;
        arg0.minus(arg0);
        assertEquals(0.0, arg0.im, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testToString() throws Throwable  {
        Complex complex = Complex.I;
        String string = complex.toString();
        assertEquals("-4.645777783783923E20 + -3.412317852187379E23i", string);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testCreatesComplexTakingNoArguments() throws Throwable  {
        Complex complex = new Complex();
        assertEquals(0.0, complex.re, 0.01);
        assertEquals(0.0, complex.im, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testMultiplyTaking2Complexs() throws Throwable  {
        Complex arg1 = Complex.I;
        Complex multiply = Complex.multiply(arg1, arg1);
        assertEquals((-1.1643891541105469E47), multiply.re, 0.01);
        assertEquals(1.1643934707607901E47, multiply.abs(), 0.01);
        assertEquals(3.170574093780279E44, multiply.im, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testMultiplyTaking1And1ReturningComplexWhereAbsIsZero() throws Throwable  {
        Complex arg0 = Complex.I;
        Complex multiply = Complex.multiply(arg0, 0.0);
        assertEquals(-0.0, multiply.re, 0.01);
        assertEquals(-0.0, multiply.im, 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testTimesTakingDouble() throws Throwable  {
        Complex complex = Complex.I;
        complex.I.times((-877.2));
        assertEquals((-877.2), complex.im, 0.01);
        assertEquals(877.2, complex.abs(), 0.01);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAbs() throws Throwable  {
        Complex complex = Complex.I;
        double abs = complex.abs();
        assertEquals(1.0, abs, 0.01);
    }
  }
  