import org.testng.annotations.Factory;
import org.testng.annotations.Test;
import org.testng.ITest;
import org.testng.Assert;

public class FactoryProblemTestngPluginTest implements ITest
{
    @Factory
    public static Object[] createTests()
    {
        Object[] multiTests = new FactoryProblemTestngPluginTest[2];
        multiTests[0] = new FactoryProblemTestngPluginTest( "FirstInstance" );
        multiTests[1] = new FactoryProblemTestngPluginTest( "SecondInstance" );
        return multiTests;
    }

    private String name;

    public FactoryProblemTestngPluginTest( String name )
    {
        this.name = name;
    }

    public String getTestName()
    {
        return name;
    }

    @Test
    public void testMethod()
    {
        System.out.println( "running " + name );
        if ( name.equals( "SecondInstance" ) ) Assert.fail( "broke" );
    }

}
