content: /*
   * This file was automatically generated by UTestGen and EvoSuite
   * Mon Mar 18 17:46:53 GMT 2024
   */
  
  package org.apache.commons.lang3.builder;
  
  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 static org.evosuite.shaded.org.mockito.Mockito.*;
  import static org.evosuite.runtime.EvoAssertions.*;
  import java.util.Collection;
  import java.util.Comparator;
  import java.util.LinkedList;
  import org.apache.commons.lang3.builder.CompareToBuilder;
  import org.evosuite.runtime.EvoRunner;
  import org.evosuite.runtime.EvoRunnerParameters;
  import org.evosuite.runtime.ViolatedAssumptionAnswer;
  import org.junit.runner.RunWith;
  
  @RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true) 
  public class CompareToBuilder_Original_ESTest extends CompareToBuilder_Original_ESTest_scaffolding {
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testToComparisonReturningPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder appendSuper = compareToBuilder.appendSuper(170);
        int comparison = appendSuper.toComparison();
        assertEquals(170, (int)compareToBuilder.build());
        assertEquals(170, comparison);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ObjectsAnd1ReturningZeroAndReflectionCompareTaking2ObjectsAnd10() throws Throwable  {
        String[] arg2 = new String[17];
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) "java.runtime.version", (Object) "java.runtime.version", arg2);
        assertEquals(0, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ObjectsAnd1ReturningNegativeAndReflectionCompareTaking2ObjectsAnd10() throws Throwable  {
        int[] intArray = new int[8];
        intArray[0] = (-4319);
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) intArray[0], (Object) intArray[2], false);
        assertEquals((-1), reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildReturningZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Integer arg0 = new Integer(82);
        Integer arg1 = compareToBuilder.build();
        assertEquals(0, (int)arg1);
        
        LinkedList<String> arg2 = new LinkedList<String>();
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) arg0, (Object) arg1, (Collection<String>) arg2);
        assertEquals(1, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ObjectsAnd1ReturningNegativeAndReflectionCompareTaking2ObjectsAnd11() throws Throwable  {
        Integer arg0 = new Integer((-727));
        Integer arg1 = new Integer(2147);
        LinkedList<String> arg2 = new LinkedList<String>();
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) arg0, (Object) arg1, (Collection<String>) arg2);
        assertEquals((-1), reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ArgumentsReturningPositive() throws Throwable  {
        Integer arg0 = new Integer(36);
        Integer arg1 = new Integer((-2396));
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) arg0, (Object) arg1);
        assertEquals(1, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ArgumentsReturningNegative() throws Throwable  {
        Integer arg0 = new Integer((-727));
        Integer arg1 = new Integer(2147);
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) arg0, (Object) arg1);
        assertEquals((-1), reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectsReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        long[] arg1 = new long[0];
        char[] charArray = new char[4];
        CompareToBuilder append = compareToBuilder.append((long[]) null, arg1);
        append.append((Object) charArray[2], (Object) null);
        assertEquals((-1), (int)compareToBuilder.build());
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatsReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        long[] arg0 = new long[1];
        CompareToBuilder append = compareToBuilder.append(arg0, (long[]) null);
        append.append((-1.0F), 1.4F);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoublesReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append(0.0, 0.0);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharArrays0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        char[] arg1 = new char[4];
        char[] arg0 = new char[4];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharArraysReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        char[] arg0 = new char[3];
        char[] arg1 = new char[1];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharArraysWithEmptyArray() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        char[] arg0 = new char[0];
        char[] arg1 = new char[4];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysAnd1ReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object[] arg0 = new Object[2];
        Object[] arg1 = new Object[4];
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append(arg0, arg1, arg2);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysAnd1WithNullAndAppendTaking2ObjectArraysAnd1ReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        Object[] arg0 = new Object[3];
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append(arg0, (Object[]) null, arg2);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectsAnd1ThrowsClassCastException() throws Throwable  {
        CompareToBuilder arg0 = new CompareToBuilder();
        Object arg1 = new Object();
        // Undeclared exception!
        try { 
          arg0.append((Object) arg0, arg1, (Comparator<?>) null);
          fail("Expecting exception: ClassCastException");
        
        } catch(ClassCastException e) {
           //
           // org.apache.commons.lang3.builder.CompareToBuilder cannot be cast to java.lang.Comparable
           //
           verifyException("org.apache.commons.lang3.builder.CompareToBuilder", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectsAnd1ReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        Integer arg0 = new Integer((-479));
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append((Object) arg0, (Object) null, (Comparator<?>) arg2);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectsAnd1WithNonNullAndNull() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object arg1 = new Object();
        CompareToBuilder append = compareToBuilder.append(arg1, arg1, (Comparator<?>) null);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking5ArgumentsReturningNegative() throws Throwable  {
        Integer arg1 = new Integer(2573);
        Integer arg0 = new Integer((-408));
        Class<Integer> arg3 = Integer.TYPE;
        String[] arg4 = new String[3];
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) arg0, (Object) arg1, true, (Class<?>) arg3, arg4);
        assertEquals((-1), reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking5ArgumentsReturningZero() throws Throwable  {
        Class<Integer> arg3 = Integer.class;
        String[] arg4 = new String[2];
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) null, (Object) null, true, arg3, arg4);
        assertEquals(0, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testToComparisonReturningZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        int comparison = compareToBuilder.toComparison();
        assertEquals(0, comparison);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleanArraysAndAppendTaking2BooleanArraysReturningCompareToBuilderWhereToComparisonIsNegative0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        boolean[] arg0 = new boolean[5];
        boolean[] arg1 = new boolean[5];
        arg1[0] = true;
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleanArraysAndAppendTaking2BooleanArraysReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        boolean[] arg0 = new boolean[8];
        boolean[] arg1 = new boolean[3];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleanArraysAndAppendTaking2BooleanArraysReturningCompareToBuilderWhereToComparisonIsZero0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        boolean[] arg0 = new boolean[5];
        boolean[] arg1 = new boolean[5];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleanArraysAndAppendTaking2BooleanArraysReturningCompareToBuilderWhereToComparisonIsNegative1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        boolean[] arg0 = new boolean[1];
        boolean[] arg1 = new boolean[3];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleanArraysAndAppendTaking2BooleanArraysWithNullAndAppendTaking2BooleanArraysReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        boolean[] arg1 = new boolean[8];
        compareToBuilder.append((boolean[]) null, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleanArraysAndAppendTaking2BooleanArraysReturningCompareToBuilderWhereToComparisonIsZero1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        boolean[] arg1 = new boolean[3];
        CompareToBuilder append = compareToBuilder.append(arg1, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2LongArraysAndAppendTaking2BooleanArrays() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        long[] arg0 = new long[1];
        CompareToBuilder append = compareToBuilder.append(arg0, (long[]) null);
        append.append((boolean[]) null, (boolean[]) null);
        assertEquals(1, compareToBuilder.toComparison());
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleanArraysAndAppendTaking2BooleanArraysWithNullAndAppendTaking2BooleanArraysReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        boolean[] arg0 = new boolean[2];
        compareToBuilder.append(arg0, (boolean[]) null);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatArraysAndAppendTaking2FloatArraysReturningCompareToBuilderWhereToComparisonIsPositive0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        float[] arg0 = new float[3];
        arg0[0] = 1487.9973F;
        float[] arg1 = new float[3];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatArraysReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        float[] arg0 = new float[1];
        float[] arg1 = new float[5];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatArraysAndAppendTaking2FloatArraysReturningCompareToBuilderWhereToComparisonIsZero0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        float[] arg0 = new float[1];
        float[] arg1 = new float[1];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatArraysAndAppendTaking2FloatArraysReturningCompareToBuilderWhereToComparisonIsPositive1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        float[] arg0 = new float[16];
        float[] arg1 = new float[7];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatArraysWithNull() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        float[] arg0 = new float[1];
        compareToBuilder.append(arg0, (float[]) null);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatArraysAndAppendTaking2FloatArraysReturningCompareToBuilderWhereToComparisonIsZero1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        float[] arg1 = new float[6];
        CompareToBuilder append = compareToBuilder.append(arg1, arg1);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatArraysWithNullAndEmptyArray() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        float[] arg1 = new float[0];
        compareToBuilder.append((float[]) null, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoubleArrays0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        double[] arg0 = new double[3];
        arg0[1] = 3236.3006466943;
        double[] arg1 = new double[3];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoubleArrays1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        double[] arg0 = new double[3];
        double[] arg1 = new double[2];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoubleArraysReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        double[] arg0 = new double[1];
        double[] arg1 = new double[1];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoubleArraysWithEmptyArrayAndNonEmptyArray() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        double[] arg0 = new double[0];
        double[] arg1 = new double[1];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoubleArraysWithNullAndAppendTaking2DoubleArraysReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        double[] arg0 = new double[4];
        compareToBuilder.append(arg0, (double[]) null);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoubleArraysWithEmptyArrayAndNull() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        double[] arg1 = new double[0];
        compareToBuilder.append((double[]) null, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharArraysWithNullAndAppendTaking2DoubleArrays() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        double[] arg1 = new double[4];
        char[] arg0 = new char[0];
        compareToBuilder.append(arg0, (char[]) null);
        compareToBuilder.append((double[]) null, arg1);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoubleArraysWithNullAndAppendTaking2DoubleArraysReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append((double[]) null, (double[]) null);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildReturningPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        byte[] arg0 = new byte[3];
        arg0[0] = (byte)105;
        byte[] arg1 = new byte[3];
        compareToBuilder.append(arg0, arg1);
        compareToBuilder.build();
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ByteArraysReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        byte[] arg0 = new byte[1];
        byte[] arg1 = new byte[5];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ByteArrays0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        byte[] arg0 = new byte[1];
        byte[] arg1 = new byte[1];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ByteArraysReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        byte[] arg0 = new byte[1];
        byte[] arg1 = new byte[0];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ByteArraysWithNullAndAppendTaking2ByteArraysReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        byte[] arg0 = new byte[17];
        compareToBuilder.append(arg0, (byte[]) null);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ByteArrays1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        byte[] arg1 = new byte[5];
        CompareToBuilder append = compareToBuilder.append(arg1, arg1);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ByteArraysWithNullAndAppendTaking2ByteArraysReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        byte[] arg1 = new byte[0];
        compareToBuilder.append((byte[]) null, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharArraysReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        char[] arg1 = new char[4];
        arg1[2] = 'c';
        char[] arg0 = new char[4];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ObjectsAnd1ReturningNegativeAndReflectionCompareTaking2ObjectsAnd12() throws Throwable  {
        String[] arg2 = new String[14];
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) "8.qLjvF4$v)%", (Object) "java.runtie.version", arg2);
        assertEquals((-1), reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharArraysWithNullAndAppendTaking2CharArraysReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        char[] arg1 = new char[8];
        compareToBuilder.append((char[]) null, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharArrays1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        char[] arg1 = new char[4];
        CompareToBuilder append = compareToBuilder.append(arg1, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharsWithDigitAndOtherChar() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.append('7', '\\');
        char[] arg1 = new char[2];
        compareToBuilder.append(arg1, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortArraysAndAppendTaking2ShortArraysReturningCompareToBuilderWhereToComparisonIsPositive0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        short[] arg0 = new short[5];
        arg0[0] = (short)159;
        short[] arg1 = new short[5];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortArraysAndAppendTaking2ShortArraysReturningCompareToBuilderWhereToComparisonIsPositive1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        short[] arg0 = new short[9];
        short[] arg1 = new short[1];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortArraysAndAppendTaking2ShortArraysReturningCompareToBuilderWhereToComparisonIsZero0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        short[] arg0 = new short[1];
        short[] arg1 = new short[1];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortArraysWithEmptyArray() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        short[] arg0 = new short[0];
        short[] arg1 = new short[1];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortArraysWithNull() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        short[] arg0 = new short[2];
        compareToBuilder.append(arg0, (short[]) null);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortArraysAndAppendTaking2ShortArraysReturningCompareToBuilderWhereToComparisonIsZero1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        short[] arg1 = new short[5];
        CompareToBuilder append = compareToBuilder.append(arg1, arg1);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortArraysWithNullAndEmptyArray() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        short[] arg1 = new short[0];
        compareToBuilder.append((short[]) null, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntArraysAndAppendTaking2IntArraysReturningCompareToBuilderWhereToComparisonIsNegative0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        int[] arg0 = new int[4];
        arg0[0] = (-4317);
        int[] arg1 = new int[4];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntArraysAndAppendTaking2IntArraysReturningCompareToBuilderWhereToComparisonIsNegative1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        int[] arg0 = new int[8];
        int[] arg1 = new int[9];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntArraysAndAppendTaking2IntArraysReturningCompareToBuilderWhereToComparisonIsZero0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        int[] arg1 = new int[1];
        int[] arg0 = new int[1];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntArraysWithEmptyArray() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        int[] arg0 = new int[10];
        int[] arg1 = new int[0];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntArraysWithNull() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        int[] arg1 = new int[4];
        compareToBuilder.append((int[]) null, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntArraysAndAppendTaking2IntArraysReturningCompareToBuilderWhereToComparisonIsZero1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        int[] arg1 = new int[4];
        CompareToBuilder append = compareToBuilder.append(arg1, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntArraysWithEmptyArrayAndNull() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        int[] arg0 = new int[0];
        compareToBuilder.append(arg0, (int[]) null);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2LongArraysAndAppendTaking2LongArraysReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        long[] arg0 = new long[3];
        arg0[0] = 95L;
        long[] arg1 = new long[3];
        compareToBuilder.append(arg0, arg1);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2LongArrays0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        long[] arg0 = new long[1];
        long[] arg1 = new long[1];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2LongArraysWithEmptyArray() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        long[] arg0 = new long[0];
        long[] arg1 = new long[3];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testBuildReturningNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        long[] arg1 = new long[0];
        compareToBuilder.append((long[]) null, arg1);
        compareToBuilder.build();
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2LongArraysAndAppendTaking2LongArraysWithNull() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        long[] arg0 = new long[1];
        CompareToBuilder append = compareToBuilder.append(arg0, (long[]) null);
        append.append(arg0, (long[]) null);
        assertEquals(1, (int)compareToBuilder.build());
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2LongArrays1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        long[] arg1 = new long[1];
        CompareToBuilder append = compareToBuilder.append(arg1, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysAnd1AndAppendTaking2ObjectArraysAnd1ReturningCompareToBuilderWhereToComparisonIsPositive0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        Object[] arg1 = new Object[2];
        Comparator<Integer> comparator = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        Object[] arg0 = new Object[2];
        arg0[0] = (Object) comparator;
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append(arg0, arg1, arg2);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysAnd1AndAppendTaking2ObjectArraysAnd1ReturningCompareToBuilderWhereToComparisonIsZero0() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object[] arg0 = new Object[1];
        Object[] arg1 = new Object[1];
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        CompareToBuilder append = compareToBuilder.append(arg0, arg1, arg2);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysAnd1AndAppendTaking2ObjectArraysAnd1ReturningCompareToBuilderWhereToComparisonIsPositive1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        Object[] arg0 = new Object[8];
        Object[] arg1 = new Object[1];
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append(arg0, arg1, arg2);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object[] arg0 = new Object[1];
        Object[] arg1 = new Object[2];
        compareToBuilder.append(arg0, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object[] arg0 = new Object[0];
        Object[] arg1 = new Object[0];
        CompareToBuilder append = compareToBuilder.append(arg0, arg1);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysAnd1WithNullAndAppendTaking2ObjectArraysAnd1ReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object[] arg1 = new Object[7];
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append((Object[]) null, arg1, arg2);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysAnd1AndAppendTaking2ObjectArraysAnd1ReturningCompareToBuilderWhereToComparisonIsZero1() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object[] arg1 = new Object[2];
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        CompareToBuilder append = compareToBuilder.append(arg1, arg1, arg2);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleansWithFalse() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.append(false, true);
        short[] arg1 = new short[1];
        compareToBuilder.append(arg1, arg1);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleansReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append(true, true);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleansReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object arg1 = new Object();
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append((Object) null, arg1, arg2);
        compareToBuilder.append(true, true);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BooleansReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        compareToBuilder.append(true, false);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatsReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder appendSuper = compareToBuilder.appendSuper((-68));
        appendSuper.append((float) (-68), (float) (-68));
        assertEquals((-68), compareToBuilder.toComparison());
        assertEquals((-68), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2FloatsReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append((-1210.7922F), (-1210.7922F));
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoublesReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder appendSuper = compareToBuilder.appendSuper(5);
        appendSuper.append((double) 5, 1.0);
        assertEquals(5, compareToBuilder.toComparison());
        assertEquals(5, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2DoublesReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.append((-582.333518207), 2221.643053638854);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BytesReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        CompareToBuilder append = compareToBuilder.append((byte)55, (byte)30);
        Object[] arg1 = new Object[0];
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        append.append(arg1, arg1, arg2);
        assertEquals(1, compareToBuilder.toComparison());
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2BytesReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append((byte)28, (byte)28);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendSuper() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.appendSuper((byte) (-128));
        compareToBuilder.append((byte) (-128), (byte) (-128));
        assertEquals((-128), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2Bytes() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.append((byte) (-85), (byte) (-4));
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharsReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append('c', 'c');
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2Chars() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, compareToBuilder.toComparison());
        
        CompareToBuilder append = compareToBuilder.append('z', '9');
        append.append('z', 'z');
        assertEquals(1, compareToBuilder.toComparison());
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortsReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append((short) (-1221), (short) (-1221));
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortsReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.append((short) (-246), (short)5);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortsReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        char[] arg0 = new char[0];
        CompareToBuilder append = compareToBuilder.append(arg0, (char[]) null);
        append.append((short) (-1192), (short)1);
        assertEquals(1, compareToBuilder.toComparison());
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntsReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append(4, 4);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testToComparisonReturningNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.append(0, 2482);
        int comparison = compareToBuilder.toComparison();
        assertEquals((-1), (int)compareToBuilder.build());
        assertEquals((-1), comparison);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntsReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.appendSuper((-55));
        compareToBuilder.append((-55), (-55));
        assertEquals((-55), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2IntsReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        compareToBuilder.append((-9), (-814));
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2LongsReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder append = compareToBuilder.append(2473L, 2473L);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2Longs() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        compareToBuilder.append(318L, 1454L);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2LongsReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        compareToBuilder.append(1364L, (-1368L));
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectsAnd1ReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object arg1 = new Object();
        Comparator<String> arg2 = (Comparator<String>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        doReturn(0).when(arg2).compare(anyString() , anyString());
        CompareToBuilder append = compareToBuilder.append((Object) "Unexpected IllegalAccessException", arg1, (Comparator<?>) arg2);
        assertEquals(0, (int)append.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectsReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder arg0 = new CompareToBuilder();
        assertEquals(0, (int)arg0.build());
        
        arg0.append((Object) arg0, (Object) null);
        assertEquals(1, (int)arg0.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectsAnd1ReturningCompareToBuilderWhereToComparisonIsNegative() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object arg1 = new Object();
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append((Object) null, arg1, arg2);
        compareToBuilder.append(2473L, 2473L);
        assertEquals((-1), (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectsReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object arg1 = new Object();
        CompareToBuilder append = compareToBuilder.append(arg1, arg1);
        assertEquals(0, append.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2CharsWithOtherChar() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        Object arg1 = new Object();
        compareToBuilder.append('[', 'g');
        Comparator<Integer> arg2 = (Comparator<Integer>) mock(Comparator.class, new ViolatedAssumptionAnswer());
        compareToBuilder.append(arg1, arg1, arg2);
        assertEquals((-1), compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ShortsWithPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        compareToBuilder.append((short)522, (short) (-836));
        compareToBuilder.appendSuper((-2292));
        assertEquals(1, compareToBuilder.toComparison());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendSuperReturningCompareToBuilderWhereToComparisonIsZero() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        CompareToBuilder appendSuper = compareToBuilder.appendSuper(0);
        assertEquals(0, (int)appendSuper.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ObjectsAnd1ReturningZeroAndReflectionCompareTaking2ObjectsAnd11() throws Throwable  {
        int[] intArray = new int[8];
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) intArray[6], (Object) intArray[3], false);
        assertEquals(0, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ObjectsAnd1ReturningPositiveAndReflectionCompareTaking2ObjectsAnd10() throws Throwable  {
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) "l", (Object) "%", (String[]) null);
        assertEquals(1, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking5ArgumentsReturningPositive() throws Throwable  {
        Integer arg0 = new Integer(46);
        Integer arg1 = new Integer((-3614));
        Class<Integer> arg3 = Integer.class;
        String[] arg4 = new String[8];
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) arg0, (Object) arg1, true, (Class<?>) arg3, arg4);
        assertEquals(1, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking5ArgumentsThrowsClassCastException() throws Throwable  {
        Integer arg0 = new Integer((-1));
        Object arg1 = new Object();
        Class<Integer> arg3 = Integer.class;
        String[] arg4 = new String[4];
        // Undeclared exception!
        try { 
          CompareToBuilder.reflectionCompare((Object) arg0, arg1, true, (Class<?>) arg3, arg4);
          fail("Expecting exception: ClassCastException");
        
        } catch(ClassCastException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("org.apache.commons.lang3.builder.CompareToBuilder", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking5ArgumentsWithNonNull() throws Throwable  {
        Object arg0 = new Object();
        Class<Integer> arg3 = Integer.class;
        String[] arg4 = new String[1];
        // Undeclared exception!
        try { 
          CompareToBuilder.reflectionCompare(arg0, (Object) null, false, (Class<?>) arg3, arg4);
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("org.apache.commons.lang3.builder.CompareToBuilder", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking5ArgumentsThrowsNullPointerException() throws Throwable  {
        Object arg1 = new Object();
        Class<Integer> arg3 = Integer.class;
        String[] arg4 = new String[2];
        // Undeclared exception!
        try { 
          CompareToBuilder.reflectionCompare((Object) null, arg1, false, arg3, arg4);
          fail("Expecting exception: NullPointerException");
        
        } catch(NullPointerException e) {
           //
           // no message in exception (getMessage() returned null)
           //
           verifyException("org.apache.commons.lang3.builder.CompareToBuilder", e);
        }
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ArgumentsReturningZero() throws Throwable  {
        Object arg1 = new Object();
        int reflectionCompare = CompareToBuilder.reflectionCompare(arg1, arg1);
        assertEquals(0, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testAppendTaking2ObjectArraysReturningCompareToBuilderWhereToComparisonIsPositive() throws Throwable  {
        CompareToBuilder compareToBuilder = new CompareToBuilder();
        assertEquals(0, (int)compareToBuilder.build());
        
        Object[] arg0 = new Object[0];
        compareToBuilder.append(arg0, (Object[]) null);
        assertEquals(1, (int)compareToBuilder.build());
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ObjectsAnd1ReturningZeroAndReflectionCompareTaking2ObjectsAnd12() throws Throwable  {
        Integer arg1 = new Integer((-727));
        LinkedList<String> arg2 = new LinkedList<String>();
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) arg1, (Object) arg1, (Collection<String>) arg2);
        assertEquals(0, reflectionCompare);
    }
  
    @Test
    @Timeout(value = 4000 , unit = TimeUnit.MILLISECONDS)
    public void testReflectionCompareTaking2ObjectsAnd1ReturningPositiveAndReflectionCompareTaking2ObjectsAnd11() throws Throwable  {
        int reflectionCompare = CompareToBuilder.reflectionCompare((Object) "Dn90fo%U(=", (Object) "|", true);
        assertEquals(1, reflectionCompare);
    }
  }
  