| package junitparams; |
| |
| import static org.assertj.core.api.Assertions.assertThat; |
| |
| import java.util.*; |
| |
| import org.junit.*; |
| import org.junit.runner.*; |
| |
| import junitparams.usage.person_example.*; |
| |
| @RunWith(JUnitParamsRunner.class) |
| public class CastingParamsTest { |
| |
| @Test |
| @Parameters |
| public void wrapWithTypeBySingleArgConstructor(PersonTest.Person person) { |
| assertThat(person.getAge()).isGreaterThan(0); |
| } |
| List<Integer> parametersForWrapWithTypeBySingleArgConstructor() { |
| return Arrays.asList(1, 2); |
| } |
| |
| @Test |
| @Parameters |
| public void wrapWithTypeByMultiArgConstructor(PersonTest.Person person) { |
| assertThat(person.getAge()).isGreaterThan(0); |
| } |
| Object parametersForWrapWithTypeByMultiArgConstructor() { |
| return new Object[]{new Object[]{"first", 1}, new Object[]{"second", 2}}; |
| } |
| |
| @Test |
| @Parameters |
| public void cartoonCharacters(PersonTest.Person character) { |
| assertThat(character.getName()).isIn("Tarzan", "Jane"); |
| assertThat(character.getAge()).isIn(0, 20); |
| } |
| |
| private List<?> parametersForCartoonCharacters() { |
| return Arrays.asList( |
| new Object[]{"Tarzan", 0}, |
| new Object[]{"Jane", 20} |
| ); |
| } |
| |
| @Test |
| @Parameters(method = "strings") |
| public void stringArrayFromMethod(String... values) { |
| assertThat(values).containsOnlyOnce("1", "2"); |
| } |
| private Object strings() { |
| return new Object[]{new Object[]{"1", "2"}, new Object[]{"2", "1"}}; |
| } |
| |
| @Test |
| @Parameters({"a,b", "b,a"}) |
| public void stringArrayFromAnnotation(String... values) { |
| assertThat(values).containsOnlyOnce("a","b"); |
| } |
| |
| } |