| package junitparams; |
| |
| import java.math.BigDecimal; |
| |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| |
| import static org.assertj.core.api.Assertions.*; |
| |
| @RunWith(JUnitParamsRunner.class) |
| public class ParamsInAnnotationTest { |
| |
| @Test |
| @Parameters({"1", "2"}) |
| public void singleParam(int number) { |
| assertThat(number).isGreaterThan(0); |
| } |
| |
| @Test |
| @Parameters({"1, true", "2, false"}) |
| public void multipleParamsCommaSeparated(int number, boolean isOne) throws Exception { |
| if (isOne) |
| assertThat(number).isEqualTo(1); |
| else |
| assertThat(number).isNotEqualTo(1); |
| } |
| |
| @Test |
| @Parameters({"1 | true", "2 | false"}) |
| public void multipleParamsPipeSeparated(int number, boolean isOne) throws Exception { |
| if (isOne) |
| assertThat(number).isEqualTo(1); |
| else |
| assertThat(number).isNotEqualTo(1); |
| } |
| |
| @Test |
| @Parameters({"a \n b", "a(asdf)", "a \r a"}) |
| public void specialCharsInParam(String a) throws Exception { |
| assertThat(a).isIn("a \n b", "a(asdf)", "a \r a"); |
| } |
| |
| @Test |
| @Parameters({",1"}) |
| public void emptyFirstParam(String empty, int number) { |
| assertThat(empty).isEmpty(); |
| assertThat(number).isEqualTo(1); |
| } |
| |
| @Test |
| @Parameters({"1,"}) |
| public void emptyLastParam(int number, String empty) { |
| assertThat(empty).isEmpty(); |
| assertThat(number).isEqualTo(1); |
| } |
| |
| @Test |
| @Parameters({"1,,1"}) |
| public void emptyMiddleParam(int number1, String empty, int number2) { |
| assertThat(empty).isEmpty(); |
| assertThat(number1).isEqualTo(1); |
| assertThat(number2).isEqualTo(1); |
| } |
| |
| @Test |
| @Parameters({","}) |
| public void allParamsEmpty(String empty1, String empty2) { |
| assertThat(empty1).isEmpty(); |
| assertThat(empty2).isEmpty(); |
| } |
| |
| @Test |
| @Parameters({ |
| "1, 1, 1", |
| "1.1, 1.1, 2", |
| "11, 11, 2", |
| "1.11, 1.11, 3" |
| }) |
| public void convertToBigDecimal(BigDecimal number, String string, int precision) { |
| assertThat(number).isEqualByComparingTo(string); |
| assertThat(number.precision()).isEqualTo(precision); |
| } |
| |
| @Test(expected = IllegalArgumentException.class) |
| @Parameters({" invalidNumber "}) |
| public void cannotConvertToBigDecimalForInvalidInput(BigDecimal number) { |
| } |
| } |