/*
 * This file was automatically generated by EvoSuite
 * Wed Sep 19 21:49:19 GMT 2018
 */

package uk.ac.sanger.artemis.io;

import org.junit.Test;
import static org.junit.Assert.*;
import static org.evosuite.shaded.org.mockito.Mockito.*;
import static org.evosuite.runtime.EvoAssertions.*;
import org.evosuite.runtime.EvoRunner;
import org.evosuite.runtime.EvoRunnerParameters;
import org.evosuite.runtime.ViolatedAssumptionAnswer;
import org.junit.runner.RunWith;
import uk.ac.sanger.artemis.io.Feature;
import uk.ac.sanger.artemis.io.FeatureEnumeration;
import uk.ac.sanger.artemis.io.FeatureVector;
import uk.ac.sanger.artemis.io.Range;
import uk.ac.sanger.artemis.io.StreamFeatureTable;

@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = false, useJEE = true) 
public class FeatureTable_ESTest extends FeatureTable_ESTest_scaffolding {

  @Test(timeout = 4000)
  public void test0()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      FeatureEnumeration featureEnumeration0 = streamFeatureTable0.features();
      assertNotNull(featureEnumeration0);
  }

  @Test(timeout = 4000)
  public void test1()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      int int0 = streamFeatureTable0.indexOf((Feature) null);
      assertEquals((-999), int0);
  }

  @Test(timeout = 4000)
  public void test2()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      Feature feature0 = streamFeatureTable0.remove((Feature) null);
      assertNull(feature0);
  }

  @Test(timeout = 4000)
  public void test3()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      FeatureVector featureVector0 = streamFeatureTable0.getAllFeatures();
      assertEquals(100, featureVector0.capacity());
  }

  @Test(timeout = 4000)
  public void test4()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      boolean boolean0 = streamFeatureTable0.contains((Feature) null);
      assertFalse(boolean0);
  }

  @Test(timeout = 4000)
  public void test5()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      int int0 = streamFeatureTable0.getFeatureCount();
      assertEquals(0, int0);
  }

  @Test(timeout = 4000)
  public void test6()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      Range range0 = mock(Range.class, new ViolatedAssumptionAnswer());
      FeatureVector featureVector0 = streamFeatureTable0.getFeaturesInRange(range0);
      assertEquals(0, featureVector0.size());
  }

  @Test(timeout = 4000)
  public void test7()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      Feature feature0 = streamFeatureTable0.getFeatureAtIndex(0);
      assertNull(feature0);
  }

  @Test(timeout = 4000)
  public void test8()  throws Throwable  {
      StreamFeatureTable streamFeatureTable0 = new StreamFeatureTable();
      // Undeclared exception!
      try { 
        streamFeatureTable0.add((Feature) null);
        fail("Expecting exception: NullPointerException");
      
      } catch(NullPointerException e) {
         //
         // no message in exception (getMessage() returned null)
         //
         verifyException("uk.ac.sanger.artemis.io.FeatureTree", e);
      }
  }
}
