xref: /aosp_15_r20/external/junit-params/src/test/java/junitparams/CastingParamsTest.java (revision b2c653efad15baf736c94ef04454e05088f2cbb7)
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