xref: /aosp_15_r20/external/junit-params/src/test/java/junitparams/ParamsInAnnotationTest.java (revision b2c653efad15baf736c94ef04454e05088f2cbb7)
1*b2c653efSSorin Basca package junitparams;
2*b2c653efSSorin Basca 
3*b2c653efSSorin Basca import java.math.BigDecimal;
4*b2c653efSSorin Basca 
5*b2c653efSSorin Basca import org.junit.Test;
6*b2c653efSSorin Basca import org.junit.runner.RunWith;
7*b2c653efSSorin Basca 
8*b2c653efSSorin Basca import static org.assertj.core.api.Assertions.*;
9*b2c653efSSorin Basca 
10*b2c653efSSorin Basca @RunWith(JUnitParamsRunner.class)
11*b2c653efSSorin Basca public class ParamsInAnnotationTest {
12*b2c653efSSorin Basca 
13*b2c653efSSorin Basca     @Test
14*b2c653efSSorin Basca     @Parameters({"1", "2"})
singleParam(int number)15*b2c653efSSorin Basca     public void singleParam(int number) {
16*b2c653efSSorin Basca         assertThat(number).isGreaterThan(0);
17*b2c653efSSorin Basca     }
18*b2c653efSSorin Basca 
19*b2c653efSSorin Basca     @Test
20*b2c653efSSorin Basca     @Parameters({"1, true", "2, false"})
multipleParamsCommaSeparated(int number, boolean isOne)21*b2c653efSSorin Basca     public void multipleParamsCommaSeparated(int number, boolean isOne) throws Exception {
22*b2c653efSSorin Basca         if (isOne)
23*b2c653efSSorin Basca             assertThat(number).isEqualTo(1);
24*b2c653efSSorin Basca         else
25*b2c653efSSorin Basca             assertThat(number).isNotEqualTo(1);
26*b2c653efSSorin Basca     }
27*b2c653efSSorin Basca 
28*b2c653efSSorin Basca     @Test
29*b2c653efSSorin Basca     @Parameters({"1 | true", "2 | false"})
multipleParamsPipeSeparated(int number, boolean isOne)30*b2c653efSSorin Basca     public void multipleParamsPipeSeparated(int number, boolean isOne) throws Exception {
31*b2c653efSSorin Basca         if (isOne)
32*b2c653efSSorin Basca             assertThat(number).isEqualTo(1);
33*b2c653efSSorin Basca         else
34*b2c653efSSorin Basca             assertThat(number).isNotEqualTo(1);
35*b2c653efSSorin Basca     }
36*b2c653efSSorin Basca 
37*b2c653efSSorin Basca     @Test
38*b2c653efSSorin Basca     @Parameters({"a \n b", "a(asdf)", "a \r a"})
specialCharsInParam(String a)39*b2c653efSSorin Basca     public void specialCharsInParam(String a) throws Exception {
40*b2c653efSSorin Basca         assertThat(a).isIn("a \n b", "a(asdf)", "a \r a");
41*b2c653efSSorin Basca     }
42*b2c653efSSorin Basca 
43*b2c653efSSorin Basca     @Test
44*b2c653efSSorin Basca     @Parameters({",1"})
emptyFirstParam(String empty, int number)45*b2c653efSSorin Basca     public void emptyFirstParam(String empty, int number) {
46*b2c653efSSorin Basca         assertThat(empty).isEmpty();
47*b2c653efSSorin Basca         assertThat(number).isEqualTo(1);
48*b2c653efSSorin Basca     }
49*b2c653efSSorin Basca 
50*b2c653efSSorin Basca     @Test
51*b2c653efSSorin Basca     @Parameters({"1,"})
emptyLastParam(int number, String empty)52*b2c653efSSorin Basca     public void emptyLastParam(int number, String empty) {
53*b2c653efSSorin Basca         assertThat(empty).isEmpty();
54*b2c653efSSorin Basca         assertThat(number).isEqualTo(1);
55*b2c653efSSorin Basca     }
56*b2c653efSSorin Basca 
57*b2c653efSSorin Basca     @Test
58*b2c653efSSorin Basca     @Parameters({"1,,1"})
emptyMiddleParam(int number1, String empty, int number2)59*b2c653efSSorin Basca     public void emptyMiddleParam(int number1, String empty, int number2) {
60*b2c653efSSorin Basca         assertThat(empty).isEmpty();
61*b2c653efSSorin Basca         assertThat(number1).isEqualTo(1);
62*b2c653efSSorin Basca         assertThat(number2).isEqualTo(1);
63*b2c653efSSorin Basca     }
64*b2c653efSSorin Basca 
65*b2c653efSSorin Basca     @Test
66*b2c653efSSorin Basca     @Parameters({","})
allParamsEmpty(String empty1, String empty2)67*b2c653efSSorin Basca     public void allParamsEmpty(String empty1, String empty2) {
68*b2c653efSSorin Basca         assertThat(empty1).isEmpty();
69*b2c653efSSorin Basca         assertThat(empty2).isEmpty();
70*b2c653efSSorin Basca     }
71*b2c653efSSorin Basca 
72*b2c653efSSorin Basca     @Test
73*b2c653efSSorin Basca     @Parameters({
74*b2c653efSSorin Basca             "1, 1, 1",
75*b2c653efSSorin Basca             "1.1, 1.1, 2",
76*b2c653efSSorin Basca             "11, 11, 2",
77*b2c653efSSorin Basca             "1.11, 1.11, 3"
78*b2c653efSSorin Basca     })
convertToBigDecimal(BigDecimal number, String string, int precision)79*b2c653efSSorin Basca     public void convertToBigDecimal(BigDecimal number, String string, int precision) {
80*b2c653efSSorin Basca         assertThat(number).isEqualByComparingTo(string);
81*b2c653efSSorin Basca         assertThat(number.precision()).isEqualTo(precision);
82*b2c653efSSorin Basca     }
83*b2c653efSSorin Basca 
84*b2c653efSSorin Basca     @Test(expected = IllegalArgumentException.class)
85*b2c653efSSorin Basca     @Parameters({" invalidNumber "})
cannotConvertToBigDecimalForInvalidInput(BigDecimal number)86*b2c653efSSorin Basca     public void cannotConvertToBigDecimalForInvalidInput(BigDecimal number) {
87*b2c653efSSorin Basca     }
88*b2c653efSSorin Basca }
89