75 lines
1.9 KiB
Java
75 lines
1.9 KiB
Java
package com.baeldung;
|
|
|
|
import org.testng.annotations.DataProvider;
|
|
import org.testng.annotations.Parameters;
|
|
import org.testng.annotations.Test;
|
|
|
|
import static org.testng.Assert.assertEquals;
|
|
|
|
public class ParametrizedLongRunningUnitTest {
|
|
|
|
@Test
|
|
@Parameters({"value", "isEven"})
|
|
public void givenNumberFromXML_ifEvenCheckOK_thenCorrect(int value, boolean isEven) {
|
|
assertEquals(isEven, value % 2 == 0);
|
|
}
|
|
|
|
@DataProvider(name = "numbers")
|
|
public static Object[][] evenNumbers() {
|
|
return new Object[][]{{1, false}, {2, true}, {4, true}};
|
|
}
|
|
|
|
@Test(dataProvider = "numbers")
|
|
public void givenNumberFromDataProvider_ifEvenCheckOK_thenCorrect(Integer number, boolean expected) {
|
|
assertEquals(expected, number % 2 == 0);
|
|
}
|
|
|
|
@Test(dataProvider = "numbersObject")
|
|
public void givenNumberObjectFromDataProvider_ifEvenCheckOK_thenCorrect(EvenNumber number) {
|
|
assertEquals(number.isEven(), number.getValue() % 2 == 0);
|
|
}
|
|
|
|
@DataProvider(name = "numbersObject")
|
|
public Object[][] parameterProvider() {
|
|
return new Object[][]{{new EvenNumber(1, false)}, {new EvenNumber(2, true)}, {new EvenNumber(4, true),}};
|
|
}
|
|
|
|
class EvenNumber {
|
|
private int value;
|
|
private boolean isEven;
|
|
|
|
EvenNumber(int number, boolean isEven) {
|
|
this.value = number;
|
|
this.isEven = isEven;
|
|
}
|
|
|
|
int getValue() {
|
|
return value;
|
|
}
|
|
|
|
public void setValue(int value) {
|
|
this.value = value;
|
|
}
|
|
|
|
boolean isEven() {
|
|
return isEven;
|
|
}
|
|
|
|
public void setEven(boolean even) {
|
|
isEven = even;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "EvenNumber{" +
|
|
"value=" + value +
|
|
", isEven=" + isEven +
|
|
'}';
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|