package com.simpligility.maven.plugins.android.standalonemojos;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.FixMethodOrder;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import com.simpligility.maven.plugins.android.AbstractAndroidMojoTestCase;
import com.simpligility.maven.plugins.android.config.ConfigHandler;
import com.simpligility.maven.plugins.android.configuration.MetaInf;
import com.simpligility.maven.plugins.android.standalonemojos.UnpackMojo;
import java.util.ArrayList;
import java.util.List;
/**
* @author Pappy STÄ‚NESCU - pappy.stanescu@gmail.com
*/
@Ignore("This test has to be migrated to be an IntegrationTest using AbstractAndroidMojoIntegrationTest")
@RunWith( Parameterized.class )
public class UnpackMojoLazyTest
extends AbstractAndroidMojoTestCase<UnpackMojo>
{
@Parameters
static public List<Object[]> suite()
{
final List<Object[]> suite = new ArrayList<Object[]>();
suite.add( new Object[] { "unpack-config-lazy" } );
suite.add( new Object[] { "unpack-config-lazy-deprecated" } );
return suite;
}
private final String projectName;
public UnpackMojoLazyTest( String projectName )
{
this.projectName = projectName;
}
@Override
public String getPluginGoalName()
{
return "unpack";
}
@Override
@Before
public void setUp()
throws Exception
{
super.setUp();
}
@Override
@After
public void tearDown()
throws Exception
{
super.tearDown();
}
@Override
public String getName()
{
return projectName;
}
@Test
public void testConfigHelper()
throws Exception
{
final UnpackMojo mojo = createMojo( this.projectName );
final ConfigHandler cfh = new ConfigHandler( mojo, this.session, this.execution );
cfh.parseConfiguration();
Boolean result = getFieldValue( mojo, "unpackLazy" );
Assert.assertNotNull(result);
Assert.assertTrue( result );
}
protected <T> T getFieldValue( Object object, String fieldName )
throws IllegalAccessException
{
return (T) super.getVariableValueFromObject( object, fieldName );
}
}