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