package test.objectfactory;
import org.testng.Assert;
import org.testng.TestNG;
import org.testng.annotations.Test;
import org.testng.xml.XmlSuite;
import test.SimpleBaseTest;
import test.TestHelper;
/**
* Test IObjectFactory2, which is an object factory that receives just the Class in parameter.
*/
public class ObjectFactory2Test extends SimpleBaseTest {
private void testFactory(boolean onSuite) {
ClassObjectFactorySampleTest.m_n = 0;
XmlSuite suite = createXmlSuite("Test IObjectFactory2", "TmpTest", ClassObjectFactorySampleTest.class);
TestNG tng = create(suite);
if (onSuite) {
suite.setObjectFactory(new ClassObjectFactory());
} else {
tng.setObjectFactory(ClassObjectFactory.class);
}
tng.run();
Assert.assertEquals(ClassObjectFactorySampleTest.m_n, 42);
}
@Test
public void factoryOnSuiteShouldWork() {
testFactory(true /* on suite object */);
}
@Test
public void factoryOnTestNGShouldWork() {
testFactory(false /* on TestNG object */);
}
}