/*
 * This file was automatically generated by EvoSuite
 * Tue Dec 10 15:28:39 GMT 2019
 */

package org.springframework.data.util;

import org.junit.Test;
import static org.junit.Assert.*;
import static org.evosuite.shaded.org.mockito.Mockito.*;
import static org.evosuite.runtime.EvoAssertions.*;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.evosuite.runtime.EvoRunner;
import org.evosuite.runtime.EvoRunnerParameters;
import org.evosuite.runtime.ViolatedAssumptionAnswer;
import org.junit.runner.RunWith;
import org.springframework.data.util.ParameterizedTypeInformation;
import org.springframework.data.util.TypeDiscoverer;
import org.springframework.data.util.TypeVariableTypeInformation;

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

  @Test(timeout = 4000)
  public void test0()  throws Throwable  {
      ParameterizedType parameterizedType0 = mock(ParameterizedType.class, new ViolatedAssumptionAnswer());
      doReturn((Type[]) null).when(parameterizedType0).getActualTypeArguments();
      Class<Object> class0 = Object.class;
      ParameterizedTypeInformation<TypeVariableTypeInformation<String>> parameterizedTypeInformation0 = null;
      try {
        parameterizedTypeInformation0 = new ParameterizedTypeInformation<TypeVariableTypeInformation<String>>(parameterizedType0, class0, (TypeDiscoverer<?>) null);
        fail("Expecting exception: NullPointerException");
      
      } catch(NullPointerException e) {
         //
         // no message in exception (getMessage() returned null)
         //
         verifyException("org.springframework.data.util.ParameterizedTypeInformation", e);
      }
  }
}
