Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.emf.refactor.refactoring.henshin/templates/RefactoringTestHenshin.javajet')
-rw-r--r--org.eclipse.emf.refactor.refactoring.henshin/templates/RefactoringTestHenshin.javajet106
1 files changed, 106 insertions, 0 deletions
diff --git a/org.eclipse.emf.refactor.refactoring.henshin/templates/RefactoringTestHenshin.javajet b/org.eclipse.emf.refactor.refactoring.henshin/templates/RefactoringTestHenshin.javajet
new file mode 100644
index 0000000..4760b15
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactoring.henshin/templates/RefactoringTestHenshin.javajet
@@ -0,0 +1,106 @@
+<%@ jet package="org.eclipse.emf.refactor" class="RefactoringTest"
+imports="org.eclipse.emf.refactor.generator.*"%>
+<%RefactoringConfig refactoringConfig = (RefactoringConfig) argument; %>
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RefactoringTestHenshin.javajet,v 1.1 2012/11/26 11:49:12 tarendt Exp $
+ */
+
+package <%=refactoringConfig.getPackageName()%>;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.emf.henshin.model.HenshinPackage;
+import org.eclipse.emf.refactor.common.core.EmfRefactoring;
+import <%=refactoringConfig.getPackageName()%>.RefactoringController;
+import <%=refactoringConfig.getPackageName()%>.RefactoringGuiHandler;
+import org.eclipse.emf.refactor.runtime.test.JUnitTestCaseAdapter;
+import <%=refactoringConfig.getSelectedEObjectJar()%>.<%=refactoringConfig.getMetaModelName()%>Package;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * Class used for running individual JUnit test cases
+ * of the specific model refactoring.
+ * @generated
+ */
+@RunWith(value = Parameterized.class)
+public class RefactoringTest extends JUnitTestCaseAdapter {
+
+ /**
+ * Number of test cases.
+ * @generated
+ */
+ private String number;
+
+ /**
+ * Constructor implementation.
+ * @param number Number of test cases.
+ * @generated
+ */
+ public RefactoringTest(String number) throws IOException {
+ super("<%=refactoringConfig.getRefactoringId()%>",
+ "<%=refactoringConfig.getNamespacePrefix()%>",
+ new File(".").getCanonicalPath(),
+ new EmfRefactoring(null, "", "<%=refactoringConfig.getNamespaceUri()%>", new RefactoringGuiHandler(), new RefactoringController()));
+ register(<%=refactoringConfig.getMetaModelName()%>Package.eINSTANCE);
+ register(HenshinPackage.eINSTANCE);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put("henshin", new XMIResourceFactoryImpl());
+ this.number = number;
+ }
+
+ @Parameters
+ public static Collection<Object[]> data() {
+ List<String> testNumbers = getTestNumbers();
+ Object[][] data = new Object[testNumbers.size()][1];
+ for (int i = 0; i < testNumbers.size(); i++) {
+ data[i][0] = testNumbers.get(i);
+ }
+ return Arrays.asList(data);
+ }
+
+ private static List<String> getTestNumbers() {
+ List<String> numbers = new ArrayList<String>();
+ try {
+ String pathPrefix = new File(".").getCanonicalPath() + "/tests/" + "<%=refactoringConfig.getRefactoringId()%>";
+ File testCaseDir = new File(pathPrefix,"/");
+ FilenameFilter filter = new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ return name.startsWith("test_");
+ }
+ };
+ String[] children = testCaseDir.list(filter);
+ if (children != null) {
+ for (String child : children) {
+ numbers.add(
+ child.substring(
+ child.indexOf('_') + 1));
+ }
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return numbers;
+ }
+
+ /**
+ * Runs the test.
+ */
+ @Test
+ public void test(){
+ System.out.println("running test test_" + number);
+ executeTestCase(number);
+ }
+} \ No newline at end of file

Back to the top