blob: 4162c29e2a9137f6c94b31a9e39874ed3b6dcaec [file] [log] [blame]
package test.interleavedorder;
import java.util.ArrayList;
import java.util.List;
import org.testng.Assert;
import org.testng.TestListenerAdapter;
import org.testng.TestNG;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import test.BaseTest;
import testhelper.OutputDirectoryPatch;
public class InterleavedInvocationTest extends BaseTest {
public static List<String> LOG = new ArrayList<String>();
@BeforeTest
public void beforeTest() {
LOG = new ArrayList<String>();
}
@Test
public void invocationOrder() {
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setOutputDirectory(OutputDirectoryPatch.getOutputDirectory());
testng.setTestClasses(new Class[] { TestChild1.class, TestChild2.class });
testng.addListener(tla);
testng.setVerbose(0);
testng.run();
final String log= LOG.toString();
final String clsName= TestChild1.class.getName();
Assert.assertEquals(LOG.size(), 8, "invocations");
// @Configuration ordering
Assert.assertEquals(LOG.get(0), "beforeTestChild1Class");
Assert.assertTrue(("test1".equals(LOG.get(1)) && "test2".equals(LOG.get(2)))
|| ("test2".equals(LOG.get(1)) && "test1".equals(LOG.get(2))), "test methods were not invoked correctly");
Assert.assertEquals(LOG.get(3), "afterTestChild1Class");
Assert.assertEquals(LOG.get(4), "beforeTestChild2Class");
Assert.assertTrue(("test1".equals(LOG.get(5)) && "test2".equals(LOG.get(6)))
|| ("test2".equals(LOG.get(5)) && "test1".equals(LOG.get(6))), "test methods were not invoked correctly");
Assert.assertEquals(LOG.get(7), "afterTestChild2Class");
}
public static void ppp(String s) {
System.out.println("[InterleavedTest] " + s);
}
}