blob: 17b2665c8909f930c11a99544d9b0c8ede3b2c33 [file] [log] [blame]
package org.junit.tests.experimental.theories.runner;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.experimental.results.PrintableResult.testResult;
import static org.junit.experimental.results.ResultMatchers.failureCountIs;
import static org.junit.experimental.results.ResultMatchers.isSuccessful;
import org.junit.Test;
import org.junit.experimental.theories.DataPoint;
import org.junit.experimental.theories.Theories;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.RunWith;
public class WithOnlyTestAnnotations {
@RunWith(Theories.class)
public static class HonorExpectedException {
@Test(expected = NullPointerException.class)
public void shouldThrow() {
}
}
@Test
public void honorExpected() throws Exception {
assertThat(testResult(HonorExpectedException.class).failureCount(), is(1));
}
@RunWith(Theories.class)
public static class HonorExpectedExceptionPasses {
@Test(expected = NullPointerException.class)
public void shouldThrow() {
throw new NullPointerException();
}
}
@Test
public void honorExpectedPassing() throws Exception {
assertThat(testResult(HonorExpectedExceptionPasses.class), isSuccessful());
}
@RunWith(Theories.class)
public static class HonorTimeout {
@Test(timeout = 5)
public void shouldStop() {
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
}
@Test
public void honorTimeout() throws Exception {
assertThat(testResult(HonorTimeout.class), failureCountIs(1));
}
@RunWith(Theories.class)
static public class ErrorWhenTestHasParametersDespiteTheories {
@DataPoint
public static int ZERO = 0;
@Test
public void testMethod(int i) {
}
}
@Test
public void testErrorWhenTestHasParametersDespiteTheories() {
JUnitCore core = new JUnitCore();
Result result = core.run(ErrorWhenTestHasParametersDespiteTheories.class);
assertEquals(1, result.getFailureCount());
String message = result.getFailures().get(0).getMessage();
assertThat(message, containsString("should have no parameters"));
}
}