package org.junit.tests.experimental.theories.runner;
import static org.junit.Assert.assertThat;
import static org.junit.experimental.results.PrintableResult.testResult;
import static org.junit.experimental.results.ResultMatchers.isSuccessful;
import org.junit.Test;
import org.junit.experimental.theories.DataPoint;
import org.junit.experimental.theories.DataPoints;
import org.junit.experimental.theories.Theories;
import org.junit.experimental.theories.Theory;
import org.junit.runner.RunWith;
public class TypeMatchingBetweenMultiDataPointsMethod {
@RunWith(Theories.class)
public static class WithWrongfullyTypedDataPointsMethod {
@DataPoint
public static String[] correctlyTyped = {"Good", "Morning"};
@DataPoints
public static String[] wrongfullyTyped() {
return new String[]{"Hello", "World"};
}
@Theory
public void testTheory(String[] array) {
}
}
@Test
public void ignoreWrongTypedDataPointsMethod() {
assertThat(testResult(WithWrongfullyTypedDataPointsMethod.class), isSuccessful());
}
@RunWith(Theories.class)
public static class WithCorrectlyTypedDataPointsMethod {
@DataPoint
public static String[] correctlyTyped = {"Good", "Morning"};
@DataPoints
public static String[][] anotherCorrectlyTyped() {
return new String[][]{
{"Hello", "World"}
};
}
@Theory
public void testTheory(String[] array) {
}
}
@Test
public void pickUpMultiPointDataPointMethods() throws Exception {
assertThat(testResult(WithCorrectlyTypedDataPointsMethod.class), isSuccessful());
}
}