01: package test.factory;
02:
03: import static org.testng.Assert.assertFalse;
04:
05: import org.testng.IInstanceInfo;
06: import org.testng.annotations.BeforeSuite;
07: import org.testng.annotations.Factory;
08: import org.testng.annotations.Parameters;
09: import org.testng.internal.InstanceInfo;
10:
11: public class FactoryWithInstanceInfoTest {
12: static boolean m_invoked = false;
13:
14: @Parameters({"factory-param"})
15: @Factory
16: public IInstanceInfo[] createObjectsWithInstanceInfo(String param) {
17: assert "FactoryParam".equals(param) : "Incorrect param: "
18: + param;
19:
20: assertFalse(m_invoked, "Should only be invoked once");
21: m_invoked = true;
22:
23: return new IInstanceInfo[] {
24: new InstanceInfo(FactoryWithInstanceInfoTest2.class,
25: new FactoryWithInstanceInfoTest2(42)),
26: new InstanceInfo(FactoryWithInstanceInfoTest2.class,
27: new FactoryWithInstanceInfoTest2(43)), };
28: }
29:
30: @BeforeSuite
31: public void beforeSuite() {
32: m_invoked = false;
33: }
34:
35: private static void ppp(String s) {
36: System.out.println("[FactoryWithInstanceInfoTest] " + s);
37: }
38: }
|