aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/junitparams/NullValuesTest.java
blob: 25d68d10e9453557ded46f02d78a5ffc79f5dc13 (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
package junitparams;

import static org.assertj.core.api.Assertions.assertThat;

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

@RunWith(JUnitParamsRunner.class)
public class NullValuesTest {

    private Object[] expectedSingleParams = new Object[]{null, "string", Long.valueOf(1)};

    private static int expectedSingleParamsIndex;

    private Object[] expectedMultipleParams = multipleParams();
    private static int expectedMultipleParamsIndex;

    @Test
    @Parameters(method = "singleParams")
    public void passesForSingleParametersListWithTheWorkaround(Object param) {
        assertThat(param).isEqualTo(expectedSingleParams[expectedSingleParamsIndex]);
        expectedSingleParamsIndex++;
    }

    public Object[] singleParams() {
        return new Object[]{new Object[]{null}, "string", Long.valueOf(1)};
    }

    @Test
    @Parameters(method = "multipleParams")
    public void passesForMultipleParametersOutOfBox(Object param1, Object param2, Object param3) {
        assertThat(param1).isEqualTo(((Object[]) expectedMultipleParams[expectedMultipleParamsIndex])[0]);
        assertThat(param2).isEqualTo(((Object[]) expectedMultipleParams[expectedMultipleParamsIndex])[1]);
        assertThat(param3).isEqualTo(((Object[]) expectedMultipleParams[expectedMultipleParamsIndex])[2]);
        expectedMultipleParamsIndex++;
    }

    public Object[] multipleParams() {
        return new Object[]{new Object[]{null, "string", null}, new Object[]{"string", Long
                .valueOf(1), null}, new Object[]{null, null, null}};
    }

}