blob: 7b9938e6cb49b1726ff7b98261159cbda435fc81 [file] [log] [blame]
package test.factory;
import static org.testng.Assert.assertEquals;
import java.util.ArrayList;
import java.util.List;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
/**
* Test that setUp methods are correctly interleaved even
* when we use similar instances of a same test class.
*
* @author cbeust
*/
public class Sample2 {
private static List<String> m_methodList = new ArrayList<String>();
@BeforeSuite
public void init() {
m_methodList = new ArrayList<String>();
}
@BeforeMethod
public void setUp() {
ppp("SET UP");
m_methodList.add("setUp");
}
@AfterMethod
public void tearDown() {
ppp("TEAR DOWN");
m_methodList.add("tearDown");
}
@AfterSuite
public void afterSuite() {
String[] expectedStrings = {
"setUp",
"testInputImages",
"tearDown",
"setUp",
"testInputImages",
"tearDown",
"setUp",
"testImages",
"tearDown",
"setUp",
"testImages",
"tearDown",
};
List<String> expected = new ArrayList<String>();
for (String s : expectedStrings) {
expected.add(s);
}
ppp("ORDER OF METHODS:");
for (String s : m_methodList) {
ppp(" " + s);
}
assertEquals(m_methodList, expected);
}
@Test
public void testInputImages() {
m_methodList.add("testInputImages");
ppp("TESTINPUTIMAGES");
}
@Test(dependsOnMethods={"testInputImages"})
public void testImages() {
m_methodList.add("testImages");
}
private static void ppp(String s) {
if (false) {
System.out.println("[Sample2] " + s);
}
}
}