aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/junitparams/ParametersReaderForMethodTest.java
blob: 4e4d07f414a961ca328ba551107e45810db39e70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package junitparams;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.fail;

import org.junit.*;
import org.junit.runner.*;

@SuppressWarnings("unused")
@RunWith(JUnitParamsRunner.class)
public class ParametersReaderForMethodTest {

    @Test
    @Parameters
    public void oneParamDifferentTypes(int number, String a) {
        assertThat(number).isEqualTo(1);
        assertThat(a).isEqualTo("a");
    }

    private Object[] parametersForOneParamDifferentTypes() {
        return new Object[]{1, "a"};
    }

    @Test
    @Parameters
    public void oneParamSetOneNull(String a, String b) {
        assertThat(a).isNull();
        assertThat(b).isEqualTo("b");
    }

    private Object[] parametersForOneParamSetOneNull() {
        return new Object[]{null, "b"};
    }

    @Test
    @Parameters
    public void noToString(NoToStringObject o) {
        assertThat(o).isNotNull();
    }

    private Object[] parametersForNoToString() {
        return new Object[]{new NoToStringObject()};
    }

    public class NoToStringObject {
    }

    @Test
    @Parameters
    public void shouldIgnoreWhenEmptyParamset() {
        fail();
    }

    private Object[] parametersForShouldIgnoreWhenEmptyParamset() {
        return new Object[] {};
    }

    @Test
    @Parameters({ "a \n \\,\\|b", "\\,a(asdf)\\|", "\\,", "", "\r\n" })
    public void escapedSpecialCharsInParam(String a) {
        assertThat(a).
                isIn("a \n ,|b", ",a(asdf)|", ",", "").
                isNotIn("a \n \\,\\|b", "\\,a(asdf)\\|", "\\,", "\r\n");
    }
}