package samples.powermockito.junit4.bugs.github722;
import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.DisallowWriteToSystemErr;
import org.powermock.modules.junit4.internal.impl.DelegatingPowerMockRunner;
import org.powermock.reflect.Whitebox;
import java.lang.reflect.Method;
import static org.assertj.core.api.Assertions.assertThat;
public class GitHub722Test {
@Rule
public final DisallowWriteToSystemErr disallowWriteToSystemErr = new DisallowWriteToSystemErr();
@Test
public void testDelegatingPowerMockRunnerUseTheories() throws Exception {
String[] methodsToRun = {"testUseTheoriesTest"};
DelegatingPowerMockRunner test = new DelegatingPowerMockRunner(UseTheoriesTest.class, methodsToRun, null);
Method[] methods = Whitebox.getInternalState(test, "testMethods");
String expected = "testUseTheoriesTest";
int expectedSize = 1;
assertThat(methods.length).describedAs("Check array size").isEqualTo(expectedSize);
assertThat(methods[0].getName()).describedAs("Test using Theory annotation").isEqualTo(expected);
}
@Test
public void testDelegatingPowerMockRunnerUseJUnit() throws Exception {
String[] methodsToRun = {"testJUnitTest"};
DelegatingPowerMockRunner test = new DelegatingPowerMockRunner(UseJUnitTest.class, methodsToRun, null);
Method[] methods = Whitebox.getInternalState(test, "testMethods");
String expected = "testJUnitTest";
int expectedSize = 1;
assertThat(methods.length).describedAs("Check array size").isEqualTo(expectedSize);
assertThat(methods[0].getName()).describedAs("Test using Theory annotation").isEqualTo(expected);
}
}