1*b2c653efSSorin Basca package junitparams; 2*b2c653efSSorin Basca 3*b2c653efSSorin Basca import static org.assertj.core.api.Assertions.assertThat; 4*b2c653efSSorin Basca 5*b2c653efSSorin Basca import java.util.*; 6*b2c653efSSorin Basca 7*b2c653efSSorin Basca import org.junit.*; 8*b2c653efSSorin Basca import org.junit.runner.*; 9*b2c653efSSorin Basca 10*b2c653efSSorin Basca import junitparams.usage.person_example.*; 11*b2c653efSSorin Basca 12*b2c653efSSorin Basca @RunWith(JUnitParamsRunner.class) 13*b2c653efSSorin Basca public class CastingParamsTest { 14*b2c653efSSorin Basca 15*b2c653efSSorin Basca @Test 16*b2c653efSSorin Basca @Parameters wrapWithTypeBySingleArgConstructor(PersonTest.Person person)17*b2c653efSSorin Basca public void wrapWithTypeBySingleArgConstructor(PersonTest.Person person) { 18*b2c653efSSorin Basca assertThat(person.getAge()).isGreaterThan(0); 19*b2c653efSSorin Basca } parametersForWrapWithTypeBySingleArgConstructor()20*b2c653efSSorin Basca List<Integer> parametersForWrapWithTypeBySingleArgConstructor() { 21*b2c653efSSorin Basca return Arrays.asList(1, 2); 22*b2c653efSSorin Basca } 23*b2c653efSSorin Basca 24*b2c653efSSorin Basca @Test 25*b2c653efSSorin Basca @Parameters wrapWithTypeByMultiArgConstructor(PersonTest.Person person)26*b2c653efSSorin Basca public void wrapWithTypeByMultiArgConstructor(PersonTest.Person person) { 27*b2c653efSSorin Basca assertThat(person.getAge()).isGreaterThan(0); 28*b2c653efSSorin Basca } parametersForWrapWithTypeByMultiArgConstructor()29*b2c653efSSorin Basca Object parametersForWrapWithTypeByMultiArgConstructor() { 30*b2c653efSSorin Basca return new Object[]{new Object[]{"first", 1}, new Object[]{"second", 2}}; 31*b2c653efSSorin Basca } 32*b2c653efSSorin Basca 33*b2c653efSSorin Basca @Test 34*b2c653efSSorin Basca @Parameters cartoonCharacters(PersonTest.Person character)35*b2c653efSSorin Basca public void cartoonCharacters(PersonTest.Person character) { 36*b2c653efSSorin Basca assertThat(character.getName()).isIn("Tarzan", "Jane"); 37*b2c653efSSorin Basca assertThat(character.getAge()).isIn(0, 20); 38*b2c653efSSorin Basca } 39*b2c653efSSorin Basca parametersForCartoonCharacters()40*b2c653efSSorin Basca private List<?> parametersForCartoonCharacters() { 41*b2c653efSSorin Basca return Arrays.asList( 42*b2c653efSSorin Basca new Object[]{"Tarzan", 0}, 43*b2c653efSSorin Basca new Object[]{"Jane", 20} 44*b2c653efSSorin Basca ); 45*b2c653efSSorin Basca } 46*b2c653efSSorin Basca 47*b2c653efSSorin Basca @Test 48*b2c653efSSorin Basca @Parameters(method = "strings") stringArrayFromMethod(String... values)49*b2c653efSSorin Basca public void stringArrayFromMethod(String... values) { 50*b2c653efSSorin Basca assertThat(values).containsOnlyOnce("1", "2"); 51*b2c653efSSorin Basca } strings()52*b2c653efSSorin Basca private Object strings() { 53*b2c653efSSorin Basca return new Object[]{new Object[]{"1", "2"}, new Object[]{"2", "1"}}; 54*b2c653efSSorin Basca } 55*b2c653efSSorin Basca 56*b2c653efSSorin Basca @Test 57*b2c653efSSorin Basca @Parameters({"a,b", "b,a"}) stringArrayFromAnnotation(String... values)58*b2c653efSSorin Basca public void stringArrayFromAnnotation(String... values) { 59*b2c653efSSorin Basca assertThat(values).containsOnlyOnce("a","b"); 60*b2c653efSSorin Basca } 61*b2c653efSSorin Basca 62*b2c653efSSorin Basca } 63