/**
* Copyright (c) 2004-2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM - Initial API and implementation
*/
package org.eclipse.emf.test.tools.merger;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.util.Collection;
import org.eclipse.emf.codegen.merge.java.facade.FacadeHelper;
import org.eclipse.emf.codegen.merge.java.facade.jdom.JDOMFacadeHelper;
import org.eclipse.emf.codegen.util.CodeGenUtil;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
/**
* Each test method in this class works with same directory as {@link JMergerTest}.
* <p>
* This test should contain special test cases that require special code executed for them.
* Special cases will use directory returned by {@link #getDefaultDataDirectory()}.
* <p>
* In addition, this test is ran automatically by {@link JMergerTestSuite} for all input directories.
*
* @see #JMergerJDOMTest(TestSuite, File)
*/
@RunWith(Parameterized.class)
public class JMergerJDOMTest extends JMergerTest
{
/**
* Name of the expected output file when JDOM facade implementation is used.
* @see #getTestSpecificExpectedOutput()
*/
public static final String JDOM_EXPECTED_OUTPUT_FILENAME = "JDOMMergerExpected.java";
public JMergerJDOMTest(String label, File dataDirectory)
{
super(dataDirectory);
}
@Parameters(name="Merging {0}")
public static Collection<Object[]> parameters()
{
return JMergerTest.parameters("JDOM");
}
@Override
protected void instanceTest(FacadeHelper facadeHelper)
{
assertTrue(JDOMFacadeHelper.class.isInstance(facadeHelper));
}
@Override
protected FacadeHelper instanciateFacadeHelper()
{
FacadeHelper facadeHelper = CodeGenUtil.instantiateFacadeHelper(JDOMFacadeHelper.class.getCanonicalName());
return facadeHelper;
}
@Override
protected File getTestSpecificExpectedOutput()
{
return new File(dataDirectory, JDOM_EXPECTED_OUTPUT_FILENAME);
}
}