java-tutorials/testing-modules/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java
Eric Martin 3225470df5 Merge pull request #8125 from eugenp/revert-8119-BAEL-3275-2
Revert "BAEL-3275: Using blocking queue for pub-sub"
2019-10-31 20:43:47 -05:00

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 +
'}';
}
}
}