package test.dataprovider;
import org.testng.Assert;
import org.testng.ITestContext;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
/**
* Tests that when a DataProvider is declared with an ITestContext, this parameter is correctly passed.
*/
public class TestContextSample {
/**
* @return As many parameters as the name of the included group
*/
@DataProvider(name = "testContext")
public Object[] createContext(ITestContext ctx) {
String[] groups = ctx.getIncludedGroups();
int n = groups.length > 0 ? new Integer(groups[0]) : 0;
Object[] result = new Object[n];
for (int i = 0; i < n; i++) {
result[i] = "foo";
}
return new Object[]{result};
}
@Test(dataProvider = "testContext", groups = "10")
public void verifyTen(Object[] objects) {
Assert.assertEquals(objects.length, 10);
}
@Test(dataProvider = "testContext", groups = "5")
public void verifyFive(Object[] objects) {
Assert.assertEquals(objects.length, 5);
}
}