content: /*
   * This file was automatically generated by UTestGen and EvoSuite
   * Thu Mar 21 10:50:09 GMT 2024
   */
  
  package org.jcvi.jillion.assembly.ca.frg;
  
  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 org.evosuite.runtime.EvoRunner;
  import org.evosuite.runtime.EvoRunnerParameters;
  import org.jcvi.jillion.assembly.ca.frg.Distance;
  import org.junit.runner.RunWith;
  
  @RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true) 
  public class Distance_Original_ESTest extends Distance_Original_ESTest_scaffolding {
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testTransformIntoCeleraAssemblerDistanceReturningDistanceWhereGetMinIsPositive() throws Throwable  {
        Distance arg0 = Distance.buildDistance(1, 1, (float) 1, (float) 1);
        Distance transformIntoCeleraAssemblerDistance = Distance.transformIntoCeleraAssemblerDistance(arg0);
        assertEquals(1, arg0.getMin());
        assertEquals((-0.004999995F), transformIntoCeleraAssemblerDistance.getStdDev(), 0.01F);
        assertEquals(1.0F, transformIntoCeleraAssemblerDistance.getMean(), 0.01F);
        assertEquals(1, arg0.getMax());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetStdDevReturningPositive() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1741, 0, (float) 0, (float) 1741);
        float stdDev = buildDistance.getStdDev();
        assertEquals(1741.0F, stdDev, 0.01F);
        assertEquals(0.0F, buildDistance.getMean(), 0.01F);
        assertEquals(1741, buildDistance.getMin());
        assertEquals(0, buildDistance.getMax());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMinReturningZero() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(0, 0);
        int min = buildDistance.getMin();
        assertEquals(0.0F, buildDistance.getMean(), 0.01F);
        assertEquals(0, min);
        assertEquals(0, buildDistance.getMax());
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMinReturningPositive() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1741, 0, (float) 0, (float) 1741);
        int min = buildDistance.getMin();
        assertEquals(0.0F, buildDistance.getMean(), 0.01F);
        assertEquals(1741, min);
        assertEquals(1741.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals(0, buildDistance.getMax());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMeanReturningZero() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1741, 0, (float) 0, (float) 1741);
        float mean = buildDistance.getMean();
        assertEquals(0.0F, mean, 0.01F);
        assertEquals(1741, buildDistance.getMin());
        assertEquals(1741.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals(0, buildDistance.getMax());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMeanReturningPositive() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1, 1, (float) 1, (float) 1);
        float mean = buildDistance.getMean();
        assertEquals(1.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals(1, buildDistance.getMin());
        assertEquals(1, buildDistance.getMax());
        assertEquals(1.0F, mean, 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMaxReturningZero() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(0, 0);
        int max = buildDistance.getMax();
        assertEquals(0, max);
        assertEquals(0, buildDistance.getMin());
        assertEquals(0.0F, buildDistance.getMean(), 0.01F);
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMaxReturningPositive() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1, 1, (float) 1, (float) 1);
        int max = buildDistance.getMax();
        assertEquals(1, buildDistance.getMin());
        assertEquals(1.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals(1.0F, buildDistance.getMean(), 0.01F);
        assertEquals(1, max);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetStdDev() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1462, 1462, (float) 1462, (-1928.3813F));
        float stdDev = buildDistance.getStdDev();
        assertEquals(1462.0F, buildDistance.getMean(), 0.01F);
        assertEquals(1462, buildDistance.getMax());
        assertEquals(1462, buildDistance.getMin());
        assertEquals((-1928.3813F), stdDev, 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking4ArgumentsReturningDistanceWhereGetMinIsNegative() throws Throwable  {
        Distance buildDistance = Distance.buildDistance((-146), 0, (-920.46F), (float) 0);
        assertEquals(0, buildDistance.getMax());
        assertEquals((-146), buildDistance.getMin());
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals((-920.46F), buildDistance.getMean(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking4ArgumentsReturningDistanceWhereGetMaxIsNegative() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(0, (-146), (-146.0F), 0.0F);
        assertEquals((-146), buildDistance.getMax());
        assertEquals(0, buildDistance.getMin());
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals((-146.0F), buildDistance.getMean(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking2IntsReturningDistanceWhereGetStdDevIsNegative() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1, (-1));
        assertEquals((-0.33333334F), buildDistance.getStdDev(), 0.01F);
        assertEquals(0.0F, buildDistance.getMean(), 0.01F);
        assertEquals(1, buildDistance.getMin());
        assertEquals((-1), buildDistance.getMax());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking2FloatsReturningDistanceWhereGetMinIsPositive() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1102.52F, (float) (-1));
        assertEquals(1102.52F, buildDistance.getMean(), 0.01F);
        assertEquals(1099, buildDistance.getMin());
        assertEquals((-1.0F), buildDistance.getStdDev(), 0.01F);
        assertEquals(1105, buildDistance.getMax());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking2FloatsReturningDistanceWhereGetMaxIsNegative() throws Throwable  {
        Distance buildDistance = Distance.buildDistance((-1700.4532F), 0.0F);
        assertEquals((-1700), buildDistance.getMin());
        assertEquals((-1700), buildDistance.getMax());
        assertEquals((-1700.4532F), buildDistance.getMean(), 0.01F);
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMaxReturningNegative() throws Throwable  {
        Distance buildDistance = Distance.buildDistance((-146), (-146));
        int max = buildDistance.getMax();
        assertEquals((-146), buildDistance.getMin());
        assertEquals((-146), max);
        assertEquals((-146.0F), buildDistance.getMean(), 0.01F);
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMinReturningNegative() throws Throwable  {
        Distance buildDistance = Distance.buildDistance((float) 1, (float) 1);
        int min = buildDistance.getMin();
        assertEquals(4, buildDistance.getMax());
        assertEquals((-2), min);
        assertEquals(1.0F, buildDistance.getMean(), 0.01F);
        assertEquals(1.0F, buildDistance.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetStdDevReturningZero() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1, 1);
        float stdDev = buildDistance.getStdDev();
        assertEquals(1.0F, buildDistance.getMean(), 0.01F);
        assertEquals(0.0F, stdDev, 0.01F);
        assertEquals(1, buildDistance.getMax());
        assertEquals(1, buildDistance.getMin());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testGetMeanReturningNegative() throws Throwable  {
        Distance buildDistance = Distance.buildDistance((-146), (-146));
        float mean = buildDistance.getMean();
        assertEquals((-146), buildDistance.getMax());
        assertEquals((-146.0F), mean, 0.01F);
        assertEquals((-146), buildDistance.getMin());
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testTransformIntoCeleraAssemblerDistanceReturningDistanceWhereGetStdDevIsPositive() throws Throwable  {
        Distance arg0 = Distance.buildDistance(1619.4149F, 1619.4149F);
        Distance transformIntoCeleraAssemblerDistance = Distance.transformIntoCeleraAssemblerDistance(arg0);
        boolean equals = transformIntoCeleraAssemblerDistance.equals(arg0);
        assertEquals(1619.4149F, arg0.getStdDev(), 0.01F);
        assertEquals((-3238), transformIntoCeleraAssemblerDistance.getMin());
        assertFalse(equals);
        assertEquals(1619.4149F, transformIntoCeleraAssemblerDistance.getMean(), 0.01F);
        assertEquals(6477, arg0.getMax());
        assertEquals(539.4666F, transformIntoCeleraAssemblerDistance.getStdDev(), 0.01F);
        assertFalse(arg0.equals((Object)transformIntoCeleraAssemblerDistance));
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking2IntsReturningDistanceWhereGetMinIsZero() throws Throwable  {
        Distance arg0 = Distance.buildDistance(1741, 0, (float) 0, (float) 1741);
        Distance buildDistance = Distance.buildDistance(0, 0);
        boolean equals = buildDistance.equals(arg0);
        assertEquals(1741.0F, arg0.getStdDev(), 0.01F);
        assertEquals(0, buildDistance.getMin());
        assertFalse(equals);
        assertEquals(1741, arg0.getMin());
        assertEquals(0, arg0.getMax());
        assertEquals(0.0F, arg0.getMean(), 0.01F);
        assertEquals(0, buildDistance.getMax());
        assertEquals(0.0F, buildDistance.getMean(), 0.01F);
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testEqualsReturningTrue() throws Throwable  {
        Distance arg0 = Distance.buildDistance(1619.4149F, 1619.4149F);
        Distance buildDistance = Distance.buildDistance(1619.4149F, 1619.4149F);
        boolean equals = buildDistance.equals(arg0);
        assertEquals((-3238), buildDistance.getMin());
        assertEquals(1619.4149F, buildDistance.getStdDev(), 0.01F);
        assertEquals(1619.4149F, buildDistance.getMean(), 0.01F);
        assertEquals(6477, buildDistance.getMax());
        assertTrue(equals);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking4ArgumentsReturningDistanceWhereGetMaxIsPositive() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1489, 1489, (float) 1489, (float) 1489);
        Distance arg0 = Distance.buildDistance(1489, 1489, 1376.4374F, (float) 1489);
        boolean equals = buildDistance.equals(arg0);
        assertEquals(1376.4374F, arg0.getMean(), 0.01F);
        assertEquals(1489.0F, arg0.getStdDev(), 0.01F);
        assertFalse(arg0.equals((Object)buildDistance));
        assertEquals(1489, arg0.getMax());
        assertEquals(1489, arg0.getMin());
        assertFalse(equals);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking2Floats() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(1489, 1489, (float) 1489, (float) 1489);
        Distance arg0 = Distance.buildDistance((float) 1489, (float) 1489);
        boolean equals = buildDistance.equals(arg0);
        assertEquals(5956, arg0.getMax());
        assertFalse(equals);
        assertEquals(1489.0F, arg0.getMean(), 0.01F);
        assertEquals(1489.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals(1489, buildDistance.getMax());
        assertEquals((-2978), arg0.getMin());
        assertEquals(1489, buildDistance.getMin());
        assertEquals(1489.0F, arg0.getStdDev(), 0.01F);
        assertEquals(1489.0F, buildDistance.getMean(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testEqualsWithNonNull() throws Throwable  {
        Distance buildDistance = Distance.buildDistance((float) 0, (float) 0);
        Object arg0 = new Object();
        boolean equals = buildDistance.equals(arg0);
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals(0, buildDistance.getMin());
        assertEquals(0.0F, buildDistance.getMean(), 0.01F);
        assertEquals(0, buildDistance.getMax());
        assertFalse(equals);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking2FloatsReturningDistanceWhereGetMeanIsNegativeAndDistanceWhereGetStdDevIsNegative() throws Throwable  {
        Distance arg0 = Distance.buildDistance((-15.987906F), (-15.987906F));
        boolean equals = arg0.equals(arg0);
        assertEquals(31, arg0.getMax());
        assertTrue(equals);
        assertEquals((-63), arg0.getMin());
        assertEquals((-15.987906F), arg0.getMean(), 0.01F);
        assertEquals((-15.987906F), arg0.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testEqualsWithNull() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(3, 3, (float) 3, (float) 3);
        boolean equals = buildDistance.equals((Object) null);
        assertEquals(3, buildDistance.getMax());
        assertEquals(3.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals(3.0F, buildDistance.getMean(), 0.01F);
        assertFalse(equals);
        assertEquals(3, buildDistance.getMin());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking2IntsAndTransformIntoCeleraAssemblerDistance() throws Throwable  {
        Distance arg0 = Distance.buildDistance((-146), (-146));
        Distance transformIntoCeleraAssemblerDistance = Distance.transformIntoCeleraAssemblerDistance(arg0);
        assertEquals(0.0F, arg0.getStdDev(), 0.01F);
        assertEquals((-49.005F), transformIntoCeleraAssemblerDistance.getStdDev(), 0.01F);
        assertEquals((-146), transformIntoCeleraAssemblerDistance.getMin());
        assertEquals((-146), arg0.getMax());
        assertEquals((-146.0F), transformIntoCeleraAssemblerDistance.getMean(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testHashCode() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(0, 0, 0.0F, (float) 0);
        buildDistance.hashCode();
        assertEquals(0.0F, buildDistance.getMean(), 0.01F);
        assertEquals(0.0F, buildDistance.getStdDev(), 0.01F);
        assertEquals(0, buildDistance.getMin());
        assertEquals(0, buildDistance.getMax());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildDistanceTaking2IntsReturningDistanceWhereGetStdDevIsPositive() throws Throwable  {
        Distance buildDistance = Distance.buildDistance((-380), 0);
        assertEquals(0, buildDistance.getMax());
        assertEquals(63.333332F, buildDistance.getStdDev(), 0.01F);
        assertEquals((-190.0F), buildDistance.getMean(), 0.01F);
        assertEquals((-380), buildDistance.getMin());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testTransformIntoCeleraAssemblerDistanceReturningDistanceWhereGetStdDevIsZero() throws Throwable  {
        Distance arg0 = Distance.buildDistance(0.0F, 0.0F);
        Distance transformIntoCeleraAssemblerDistance = Distance.transformIntoCeleraAssemblerDistance(arg0);
        assertEquals(0, transformIntoCeleraAssemblerDistance.getMin());
        assertEquals(0.0F, transformIntoCeleraAssemblerDistance.getMean(), 0.01F);
        assertEquals(0, transformIntoCeleraAssemblerDistance.getMax());
        assertEquals(0.0F, transformIntoCeleraAssemblerDistance.getStdDev(), 0.01F);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testToString() throws Throwable  {
        Distance buildDistance = Distance.buildDistance(0.0F, 0.0F);
        String string = buildDistance.toString();
        assertEquals(0, buildDistance.getMin());
        assertEquals(0, buildDistance.getMax());
        assertEquals("0.000, std: 0.000", string);
    }
  }
  