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