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