package test.thread; import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.util.HashMap; import java.util.Map; public class DataProviderThreadPoolSizeSampleTest extends BaseThreadTest { @BeforeClass(alwaysRun = true) public void setUp() { log(getClass().getName(), "Init log ids"); initThreadLog(); } @DataProvider(parallel = true) public Object[][] parallelDataProvider() { return createArray(); } @DataProvider public Object[][] sequentialDataProvider() { return createArray(); } private Object[][] createArray() { int i = 0; return new Object[][] { new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, new Object[] { i++ }, }; } @Test(dataProvider = "sequentialDataProvider", groups = "sequential") public void fSequential(Integer p) { long n = Thread.currentThread().getId(); log(getClass().getName(), "Sequential"); logThread(n); } @Test(dataProvider = "parallelDataProvider", groups = "parallel") public void fParallel(Integer p) { long n = Thread.currentThread().getId(); log(getClass().getName(), "Parallel"); logThread(n); } // @Test(dependsOnMethods = {"f1"}) // public void verify() { // int expected = 3; // Assert.assertEquals(m_threadIds.size(), expected, // "Should have run on " + expected + " threads but ran on " + m_threadIds.size()); // } }