Back-migrate new test cases
Change-Id: I5d9801087d187e8f130699f0fad2898e9201c19b
diff --git a/plugins/org.eclipse.emf.henshin.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.henshin.tests/META-INF/MANIFEST.MF
index 9d36c26..3f13509 100644
--- a/plugins/org.eclipse.emf.henshin.tests/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.henshin.tests/META-INF/MANIFEST.MF
@@ -25,10 +25,6 @@
org.eclipse.emf.query.ocl;bundle-version="2.0.0",
org.junit;bundle-version="4.0.0",
org.eclipse.debug.core;bundle-version="3.10.100",
- org.junit.jupiter.api,
- org.junit.jupiter.engine,
- org.junit.jupiter.migrationsupport,
- org.junit.jupiter.params,
org.junit.platform.commons,
org.junit.platform.engine,
org.junit.platform.launcher,
@@ -36,3 +32,4 @@
org.junit.platform.suite.api
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.debug.core
+Automatic-Module-Name: org.eclipse.emf.henshin.tests
diff --git a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CModuleTests.java b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CModuleTests.java
index fbf6726..3a171ff 100644
--- a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CModuleTests.java
+++ b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CModuleTests.java
@@ -1,9 +1,9 @@
package org.eclipse.emf.henshin.tests.compact;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
import java.io.File;
import java.util.List;
@@ -22,11 +22,10 @@
import org.eclipse.emf.henshin.model.compact.CRule;
import org.eclipse.emf.henshin.model.compact.CUnit;
import org.eclipse.emf.henshin.model.resource.HenshinResourceSet;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
+import org.junit.Before;
+import org.junit.Test;
-class CModuleTests {
+public class CModuleTests {
static String path;
@@ -39,8 +38,8 @@
CModule mod;
- @BeforeAll
- public static void globalSetup() {
+ @Before
+ public void globalSetup() {
path = "src/org/eclipse/emf/henshin/tests/compact/";
res = new HenshinResourceSet(path);
pack = res.registerDynamicEPackages("bank.ecore").get(0);
@@ -63,48 +62,48 @@
u.setName("unit");
}
- @BeforeEach
+ @Before
public void localSetup() {
mod = new CModule("module");
}
@Test
- void createModuleTest() {
+ public void createModuleTest() {
mod = new CModule("module");
assertNotNull(mod);
assertEquals(mod.getModule().getName(),"module");
}
@Test
- void addImportTest() {
+ public void addImportTest() {
assertTrue(mod.getModule().getImports().isEmpty());
mod.addImport(pack);
assertEquals(mod.getModule().getImports().get(0),pack);
}
@Test
- void addImportFromFile() {
+ public void addImportFromFile() {
assertTrue(mod.getModule().getImports().isEmpty());
mod.addImportsFromFile(path+"bank.ecore");
assertTrue(!mod.getModule().getImports().isEmpty());
}
@Test
- void reuseModuleTest() {
+ public void reuseModuleTest() {
mod = new CModule(m);
assertEquals(mod.getModule(),m);
}
@Test
- void loadModuleTest() {
+ public void loadModuleTest() {
mod = CModule.loadFromFile(path+"bank.henshin");
//.equals is not implemented for Module-Class. .toString is. Therefore the Strings are compared rather than the Modules themselves.
assertEquals(mod.getModule().toString(),m.toString());
}
@Test
- void saveTestWithName() {
+ public void saveTestWithName() {
mod = new CModule(m);
assertTrue(!moduleFile2.exists());
mod.save(path+"test");
@@ -112,7 +111,7 @@
}
@Test
- void saveTestWithoutName() {
+ public void saveTestWithoutName() {
mod = new CModule(m);
mod.getModule().setName("module");
assertTrue(!moduleFile.exists());
@@ -121,7 +120,7 @@
}
@Test
- void addRuleTest() {
+ public void addRuleTest() {
CRule c = mod.addRule(r);
assertTrue(!mod.getModule().getUnits().isEmpty());
assertNotNull(c);
@@ -130,7 +129,7 @@
}
@Test
- void addUnitTest() {
+ public void addUnitTest() {
CUnit cu = mod.addUnit(u);
assertTrue(mod.getModule().getUnits().contains(u));
assertNotNull(cu);
@@ -139,7 +138,7 @@
}
@Test
- void ruleCreationTest() {
+ public void ruleCreationTest() {
CRule cr = mod.createRule("rule");
assertNotNull(cr);
assertNotNull(cr.getUnit());
@@ -147,7 +146,7 @@
}
@Test
- void loopUnitCreationTest() {
+ public void loopUnitCreationTest() {
CRule cr = mod.addRule(r);
mod.createLoop(cr);
assertTrue(mod.getModule().getUnits().size()==2);
@@ -156,7 +155,7 @@
}
@Test
- void iteratedUnitCreationTest() {
+ public void iteratedUnitCreationTest() {
CRule cr = mod.addRule(r);
mod.createIteration(cr,"2");
assertTrue(mod.getModule().getUnits().size()==2);
@@ -165,7 +164,7 @@
}
@Test
- void conditionalUnitCreationTestWithElse() {
+ public void conditionalUnitCreationTestWithElse() {
CRule cr = mod.addRule(r);
mod.createConditional(cr,cr,cr,"conditional");
assertTrue(mod.getModule().getUnits().size()==2);
@@ -177,7 +176,7 @@
}
@Test
- void conditionalUnitCreationTestWithoutElse() {
+ public void conditionalUnitCreationTestWithoutElse() {
CRule cr = mod.addRule(r);
mod.createConditional(cr,cr,null,"conditional");
assertTrue(mod.getModule().getUnits().size()==2);
@@ -189,7 +188,7 @@
}
@Test
- void priorityUnitCreationTest() {
+ public void priorityUnitCreationTest() {
CRule cr = mod.addRule(r);
assertNull(mod.getModule().getUnit("priority"));
mod.addToPriority(cr, "priority");
@@ -199,7 +198,7 @@
}
@Test
- void priorityUnitAddTest() {
+ public void priorityUnitAddTest() {
CRule cr = mod.addRule(r);
mod.addToPriority(cr, "priority");
assertNotNull(mod.getModule().getUnit("priority"));
@@ -209,7 +208,7 @@
}
@Test
- void sequentialUnitCreationTest() {
+ public void sequentialUnitCreationTest() {
CRule cr = mod.addRule(r);
assertNull(mod.getModule().getUnit("sequence"));
mod.addToSequence(cr, "sequence");
@@ -219,7 +218,7 @@
}
@Test
- void sequentialUnitAddTest() {
+ public void sequentialUnitAddTest() {
CRule cr = mod.addRule(r);
mod.addToSequence(cr, "sequence");
assertNotNull(mod.getModule().getUnit("sequence"));
@@ -229,7 +228,7 @@
}
@Test
- void independentUnitCreationTest() {
+ public void independentUnitCreationTest() {
CRule cr = mod.addRule(r);
assertNull(mod.getModule().getUnit("independent"));
mod.addToIndependent(cr, "independent");
@@ -239,7 +238,7 @@
}
@Test
- void independentUnitAddTest() {
+ public void independentUnitAddTest() {
CRule cr = mod.addRule(r);
mod.addToIndependent(cr, "independent");
assertNotNull(mod.getModule().getUnit("independent"));
@@ -250,7 +249,7 @@
@Test
- void getAllCUnitsTest() {
+ public void getAllCUnitsTest() {
mod = new CModule(m);
List<CUnit> list = mod.getAllCUnits();
assertEquals(list.size(),m.getUnits().size());
diff --git a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CNodeTests.java b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CNodeTests.java
index 6020804..d302fcc 100644
--- a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CNodeTests.java
+++ b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CNodeTests.java
@@ -1,7 +1,6 @@
package org.eclipse.emf.henshin.tests.compact;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.Assert.assertEquals;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
@@ -15,34 +14,34 @@
import org.eclipse.emf.henshin.model.compact.CNode;
import org.eclipse.emf.henshin.model.compact.CRule;
import org.eclipse.emf.henshin.model.resource.HenshinResourceSet;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
-class CNodeTests {
+public class CNodeTests {
static EClass account, bank;
static EReference ref;
static EAttribute att;
static String path;
static EPackage pack;
-
+
CRule rule;
CModule mod;
CNode node1, node2;
-
- @BeforeAll
+
+ @BeforeClass
public static void globalSetUp() {
path = "src/org/eclipse/emf/henshin/tests/compact/";
HenshinResourceSet hrs = new HenshinResourceSet(path);
pack = hrs.registerDynamicEPackages("bank.ecore").get(0);
account = (EClass) pack.getEClassifier("Account");
bank = (EClass) pack.getEClassifier("Bank");
- ref = bank.getEReferences().get(1);//accounts
- att = account.getEAllAttributes().get(1);//credit
+ ref = bank.getEReferences().get(1);// accounts
+ att = account.getEAllAttributes().get(1);// credit
}
- @BeforeEach
+ @Before
public void localSetUp() {
mod = new CModule("module");
mod.addImport(pack);
@@ -50,109 +49,102 @@
node1 = rule.createNode(bank);
node2 = rule.createNode(account);
}
-
+
@Test
- void canCreateEdgeTest() {
- assertEquals(node1.canCreateEdge(node2, ref), rule.getUnit().canCreateEdge(node1.getNode(), node2.getNode(), ref));
+ public void canCreateEdgeTest() {
+ assertEquals(node1.canCreateEdge(node2, ref),
+ rule.getUnit().canCreateEdge(node1.getNode(), node2.getNode(), ref));
}
-
+
@Test
- void canCreateEdgeRefStringTest() {
- assertEquals(node1.canCreateEdge(node2, "accounts"), rule.getUnit().canCreateEdge(node1.getNode(), node2.getNode(), ref));
+ public void canCreateEdgeRefStringTest() {
+ assertEquals(node1.canCreateEdge(node2, "accounts"),
+ rule.getUnit().canCreateEdge(node1.getNode(), node2.getNode(), ref));
}
-
- @Test
- void canCreateEdgeWrongRefTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- node1.canCreateEdge(node2, "cheesecake");
- });
- assertEquals(e.getMessage(),"No Reference for cheesecake found.");
+
+ @Test(expected = RuntimeException.class)
+ public void canCreateEdgeWrongRefTest() {
+ node1.canCreateEdge(node2, "cheesecake");
}
-
+
@Test
- void createEdgeTest() {
+ public void createEdgeTest() {
node1.createEdge(node2, ref, new Action(Action.Type.PRESERVE));
Edge edge = rule.getUnit().getLhs().getEdges().get(0);
- assertEquals(edge.getAction().getType(),Action.Type.PRESERVE);
+ assertEquals(edge.getAction().getType(), Action.Type.PRESERVE);
assertEquals(edge.getSource(), node1.getNode());
assertEquals(edge.getTarget(), node2.getNode());
assertEquals(edge.getType(), ref);
}
-
+
@Test
- void createEdgeDefaultActionTest() {
+ public void createEdgeDefaultActionTest() {
node1.createEdge(node2, ref);
Edge edge = rule.getUnit().getLhs().getEdges().get(0);
- assertEquals(edge.getAction().getType(),Action.Type.PRESERVE);
+ assertEquals(edge.getAction().getType(), Action.Type.PRESERVE);
assertEquals(edge.getSource(), node1.getNode());
assertEquals(edge.getTarget(), node2.getNode());
assertEquals(edge.getType(), ref);
}
-
+
@Test
- void createEdgeDefaultActionStringRefTest() {
+ public void createEdgeDefaultActionStringRefTest() {
node1.createEdge(node2, "accounts");
Edge edge = rule.getUnit().getLhs().getEdges().get(0);
- assertEquals(edge.getAction().getType(),Action.Type.PRESERVE);
+ assertEquals(edge.getAction().getType(), Action.Type.PRESERVE);
assertEquals(edge.getSource(), node1.getNode());
assertEquals(edge.getTarget(), node2.getNode());
assertEquals(edge.getType(), ref);
}
-
+
@Test
- void createEdgeStringRefTest() {
+ public void createEdgeStringRefTest() {
node1.createEdge(node2, "accounts", new Action(Action.Type.PRESERVE));
Edge edge = rule.getUnit().getLhs().getEdges().get(0);
- assertEquals(edge.getAction().getType(),Action.Type.PRESERVE);
+ assertEquals(edge.getAction().getType(), Action.Type.PRESERVE);
assertEquals(edge.getSource(), node1.getNode());
assertEquals(edge.getTarget(), node2.getNode());
assertEquals(edge.getType(), ref);
}
-
+
@Test
- void createEdgeStringActionTest() {
+ public void createEdgeStringActionTest() {
node1.createEdge(node2, ref, "preserve");
Edge edge = rule.getUnit().getLhs().getEdges().get(0);
- assertEquals(edge.getAction().getType(),Action.Type.PRESERVE);
+ assertEquals(edge.getAction().getType(), Action.Type.PRESERVE);
assertEquals(edge.getSource(), node1.getNode());
assertEquals(edge.getTarget(), node2.getNode());
assertEquals(edge.getType(), ref);
}
-
+
@Test
- void createEdgeAllStringsTest() {
+ public void createEdgeAllStringsTest() {
node1.createEdge(node2, "accounts", "preserve");
Edge edge = rule.getUnit().getLhs().getEdges().get(0);
- assertEquals(edge.getAction().getType(),Action.Type.PRESERVE);
+ assertEquals(edge.getAction().getType(), Action.Type.PRESERVE);
assertEquals(edge.getSource(), node1.getNode());
assertEquals(edge.getTarget(), node2.getNode());
assertEquals(edge.getType(), ref);
}
-
- @Test
- void createEdgeWrongActionTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- node1.createEdge(node2, "accounts", "cheesecake");
- });
- assertEquals(e.getMessage(), "cheesecake is not a valid Action");
-
- e = assertThrows(RuntimeException.class,() -> {
- node1.createEdge(node2, ref, "cheesecake");
- });
- assertEquals(e.getMessage(), "cheesecake is not a valid Action");
-
+
+ @Test(expected = RuntimeException.class)
+ public void createEdgeWrongActionTest1() {
+ node1.createEdge(node2, "accounts", "cheesecake");
}
-
- @Test
- void createEdgeFailTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- node1.createEdge(node2, "clients");
- });
- assertEquals(e.getMessage(), "Failed to create Edge");
+
+ @Test(expected = RuntimeException.class)
+ public void createEdgeWrongActionTest2() {
+ node1.createEdge(node2, ref, "cheesecake");
+
}
-
+
+ @Test(expected = RuntimeException.class)
+ public void createEdgeFailTest() {
+ node1.createEdge(node2, "clients");
+ }
+
@Test
- void createAttributeTest() {
+ public void createAttributeTest() {
node2.createAttribute(att, "1000", new Action(Action.Type.PRESERVE));
Attribute attribute = node2.getNode().getAttributes().get(0);
assertEquals(attribute.getAction().getType(), Action.Type.PRESERVE);
@@ -160,9 +152,9 @@
assertEquals(attribute.getType(), att);
assertEquals(attribute.getValue(), "1000");
}
-
+
@Test
- void createAttributeDefaultActionTest() {
+ public void createAttributeDefaultActionTest() {
node2.createAttribute(att, "1000");
Attribute attribute = node2.getNode().getAttributes().get(0);
assertEquals(attribute.getAction().getType(), node2.getNode().getAction().getType());
@@ -170,9 +162,9 @@
assertEquals(attribute.getType(), att);
assertEquals(attribute.getValue(), "1000");
}
-
+
@Test
- void createAttributeStringAttTest() {
+ public void createAttributeStringAttTest() {
node2.createAttribute("credit", "1000", new Action(Action.Type.PRESERVE));
Attribute attribute = node2.getNode().getAttributes().get(0);
assertEquals(attribute.getAction().getType(), Action.Type.PRESERVE);
@@ -180,9 +172,9 @@
assertEquals(attribute.getType(), att);
assertEquals(attribute.getValue(), "1000");
}
-
+
@Test
- void createAttributeStringActionTest() {
+ public void createAttributeStringActionTest() {
node2.createAttribute(att, "1000", "preserve");
Attribute attribute = node2.getNode().getAttributes().get(0);
assertEquals(attribute.getAction().getType(), Action.Type.PRESERVE);
@@ -190,9 +182,9 @@
assertEquals(attribute.getType(), att);
assertEquals(attribute.getValue(), "1000");
}
-
+
@Test
- void createAttributeDefaultActionStringRefTest() {
+ public void createAttributeDefaultActionStringRefTest() {
node2.createAttribute("credit", "1000");
Attribute attribute = node2.getNode().getAttributes().get(0);
assertEquals(attribute.getAction().getType(), node2.getNode().getAction().getType());
@@ -200,9 +192,9 @@
assertEquals(attribute.getType(), att);
assertEquals(attribute.getValue(), "1000");
}
-
+
@Test
- void createAttributeAllStrings() {
+ public void createAttributeAllStrings() {
node2.createAttribute("credit", "1000", "preserve");
Attribute attribute = node2.getNode().getAttributes().get(0);
assertEquals(attribute.getAction().getType(), Action.Type.PRESERVE);
@@ -210,44 +202,38 @@
assertEquals(attribute.getType(), att);
assertEquals(attribute.getValue(), "1000");
}
-
- @Test
- void createAttributeWrongActionTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- node2.createAttribute("credit", "1000", "cheesecake");
- });
- assertEquals(e.getMessage(), "cheesecake is not a valid Action");
-
- e = assertThrows(RuntimeException.class,() -> {
- node2.createAttribute(att, "1000", "cheesecake");
- });
- assertEquals(e.getMessage(), "cheesecake is not a valid Action");
+
+ @Test(expected = RuntimeException.class)
+ public void createAttributeWrongActionTest1() {
+ node2.createAttribute("credit", "1000", "cheesecake");
}
-
+
+ @Test(expected = RuntimeException.class)
+ public void createAttributeWrongActionTest2() {
+ node2.createAttribute(att, "1000", "cheesecake");
+ }
+
@Test
- void setAttributeResultTest() {
+ public void setAttributeResultTest() {
node2.createAttribute(att, "1000->2000", new Action(Action.Type.PRESERVE));
Node node = rule.getUnit().getMappings().getImage(node2.getNode(), rule.getUnit().getRhs());
assertEquals(node2.getNode().getAttribute(att).getValue(), "1000");
assertEquals(node.getAttribute(att).getValue(), "2000");
}
-
- @Test
- void createAttributeWrongAttributeTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- node2.createAttribute("cheesecake", "1000", new Action(Action.Type.PRESERVE));
- });
- assertEquals(e.getMessage(), "No Attribute for cheesecake found.");
+
+ @Test(expected = RuntimeException.class)
+ public void createAttributeWrongAttributeTest() {
+ node2.createAttribute("cheesecake", "1000", new Action(Action.Type.PRESERVE));
}
-
+
@Test
- void setNodeTest() {
+ public void setNodeTest() {
node2.setNode(node1.getNode());
assertEquals(node1.getNode(), node2.getNode());
}
-
+
@Test
- void setNameTest() {
+ public void setNameTest() {
node1.setName("name");
assertEquals(node1.getNode().getName(), "name");
}
diff --git a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CRuleTests.java b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CRuleTests.java
index b933dba..75e6fe5 100644
--- a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CRuleTests.java
+++ b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CRuleTests.java
@@ -1,8 +1,7 @@
package org.eclipse.emf.henshin.tests.compact;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
@@ -19,11 +18,11 @@
import org.eclipse.emf.henshin.model.compact.CRule;
import org.eclipse.emf.henshin.model.compact.CUnit;
import org.eclipse.emf.henshin.model.resource.HenshinResourceSet;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
-class CRuleTests {
+public class CRuleTests {
static EClass account;
static String path;
@@ -31,7 +30,7 @@
CModule mod;
CRule rule;
- @BeforeAll
+ @BeforeClass
public static void globalSetUp() {
path = "src/org/eclipse/emf/henshin/tests/compact/";
HenshinResourceSet hrs = new HenshinResourceSet(path);
@@ -39,7 +38,7 @@
account = (EClass) pack.getEClassifier("Account");
}
- @BeforeEach
+ @Before
public void localSetUp() {
mod = new CModule("module");
mod.addImport(pack);
@@ -47,7 +46,7 @@
}
@Test
- void createNodeTest() {
+ public void createNodeTest() {
CNode node = rule.createNode(account, new Action(Action.Type.PRESERVE));
assertTrue(!rule.getUnit().getLhs().getNodes().isEmpty());
assertEquals(node.getNode().getType(),account);
@@ -56,7 +55,7 @@
}
@Test
- void createNodeTestClassStringTest() {
+ public void createNodeTestClassStringTest() {
CNode node = rule.createNode("Account", new Action(Action.Type.PRESERVE));
assertTrue(!rule.getUnit().getLhs().getNodes().isEmpty());
assertEquals(node.getNode().getType(),account);
@@ -65,7 +64,7 @@
}
@Test
- void createNodeTestActionStringTest() {
+ public void createNodeTestActionStringTest() {
CNode node = rule.createNode(account, "preserve");
assertTrue(!rule.getUnit().getLhs().getNodes().isEmpty());
assertEquals(node.getNode().getType(),account);
@@ -74,7 +73,7 @@
}
@Test
- void createNodeAllStrings() {
+ public void createNodeAllStrings() {
CNode node = rule.createNode("Account", "preserve");
assertTrue(!rule.getUnit().getLhs().getNodes().isEmpty());
assertEquals(node.getNode().getType(),account);
@@ -83,7 +82,7 @@
}
@Test
- void createNodeDefaultActionTest() {
+ public void createNodeDefaultActionTest() {
CNode node = rule.createNode(account);
assertTrue(!rule.getUnit().getLhs().getNodes().isEmpty());
assertEquals(node.getNode().getType(),account);
@@ -92,7 +91,7 @@
}
@Test
- void createNodeDefaultActionClassStringTest() {
+ public void createNodeDefaultActionClassStringTest() {
CNode node = rule.createNode("Account");
assertTrue(!rule.getUnit().getLhs().getNodes().isEmpty());
assertEquals(node.getNode().getType(),account);
@@ -100,20 +99,20 @@
assertEquals(node.getNode().getGraph(), rule.getUnit().getLhs());
}
- @Test
- void createNodeWrongActionStringTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
+ @Test(expected = RuntimeException.class)
+ public void createNodeWrongActionStringTest1() {
rule.createNode(account, "cheesecake");
- });
- assertEquals(e.getMessage(), "cheesecake is not a valid Action");
- e = assertThrows(RuntimeException.class,() -> {
- rule.createNode("Account", "cheesecake");
- });
- assertEquals(e.getMessage(), "cheesecake is not a valid Action");
}
+
+ @Test(expected = RuntimeException.class)
+ public void createNodeWrongActionStringTest2() {
+ rule.createNode("Account", "cheesecake");
+ }
+
+
@Test
- void createNodeInMultiRuleTest() {
+ public void createNodeInMultiRuleTest() {
rule.createParameter("in", "param", EcorePackage.Literals.EINT);
CNode node = rule.createNode(account, "delete*/myMultiRule");
@@ -124,56 +123,50 @@
}
@Test
- void createNodeInNAC() {
+ public void createNodeInNAC() {
CNode node = rule.createNode(account, "forbid#myNAC");
assertTrue(rule.getUnit().getLhs().getNAC("myNAC").getConclusion().getNodes().contains(node.getNode()));
}
@Test
- void createNodeInPAC() {
+ public void createNodeInPAC() {
CNode node = rule.createNode(account, "require#myPAC");
assertTrue(rule.getUnit().getLhs().getPAC("myPAC").getConclusion().getNodes().contains(node.getNode()));
}
@Test
- void extractNACTest() {
+ public void extractNACTest() {
rule.createNode(account, "forbid#myNAC");
Not n = rule.getNAC("myNAC");
assertEquals(n, ((Not)rule.getUnit().getLhs().getFormula()));
}
@Test
- void extractPACTest() {
+ public void extractPACTest() {
rule.createNode(account, "require#myPAC");
NestedCondition n = rule.getPAC("myPAC");
assertEquals(n, rule.getUnit().getLhs().getFormula());
}
- @Test
- void extractNACNonExistentTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
+ @Test(expected = RuntimeException.class)
+ public void extractNACNonExistentTest() {
rule.getNAC("myNAC");
- });
- assertEquals(e.getMessage(), "Could not find any Condition named: myNAC");
}
- @Test
- void extractPACNonExistentTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
+ @Test(expected = RuntimeException.class)
+ public void extractPACNonExistentTest() {
rule.getPAC("myPAC");
- });
- assertEquals(e.getMessage(), "Could not find any Condition named: myPAC");
}
@Test
- void setFormulaTest() {
+ public void setFormulaTest() {
Or or = HenshinFactory.eINSTANCE.createOr();
rule.setPreConditionFormula(or);
assertEquals(rule.getUnit().getLhs().getFormula(), or);
}
@Test
- void createAttributeConditionTest() {
+ public void createAttributeConditionTest() {
rule.createParameter("in", "param", EcorePackage.Literals.EINT);
rule.createAttributeCondition("cond", "param=100");
AttributeCondition cond = rule.getUnit().getAttributeConditions().get(0);
@@ -182,18 +175,15 @@
}
@Test
- void setUnitTest() {
+ public void setUnitTest() {
CRule newRule = mod.createRule("newRule");
newRule.setUnit(rule.getUnit());
assertEquals(newRule.getUnit(), rule.getUnit());
}
- @Test
- void setUnitTestNotARule() {
+ @Test(expected = RuntimeException.class)
+ public void setUnitTestNotARule() {
CUnit unit = mod.createLoop(rule);
- Exception e = assertThrows(RuntimeException.class,() -> {
rule.setUnit(unit.getUnit());
- });
- assertEquals(e.getMessage(), "Given Unit is not a Rule!");
}
}
diff --git a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CUnitTests.java b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CUnitTests.java
index 25c822a..7cbbf37 100644
--- a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CUnitTests.java
+++ b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/compact/CUnitTests.java
@@ -1,9 +1,8 @@
package org.eclipse.emf.henshin.tests.compact;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClassifier;
@@ -16,29 +15,29 @@
import org.eclipse.emf.henshin.model.compact.CRule;
import org.eclipse.emf.henshin.model.compact.CUnit;
import org.eclipse.emf.henshin.model.resource.HenshinResourceSet;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
-class CUnitTests {
-
+public class CUnitTests {
+
static EClassifier account;
static String path;
static EPackage pack;
- CModule mod,bank;
+ CModule mod, bank;
CUnit unit;
CRule rule;
- @BeforeAll
+ @BeforeClass
public static void globalSetup() {
path = "src/org/eclipse/emf/henshin/tests/compact/";
HenshinResourceSet hrs = new HenshinResourceSet(path);
pack = hrs.registerDynamicEPackages("bank.ecore").get(0);
account = pack.getEClassifier("Account");
-
+
}
-
- @BeforeEach
+
+ @Before
public void localSetup() {
mod = new CModule("module");
rule = mod.createRule("rule");
@@ -46,49 +45,45 @@
}
@Test
- void createParameterTest() {
+ public void createParameterTest() {
unit.createParameter(ParameterKind.IN, "param", EcorePackage.Literals.EINT);
Parameter par = unit.getUnit().getParameter("param");
assertNotNull(par);
- assertEquals(par.getKind(),ParameterKind.IN);
- assertEquals(par.getName(),"param");
+ assertEquals(par.getKind(), ParameterKind.IN);
+ assertEquals(par.getName(), "param");
assertEquals(par.getType(), EcorePackage.Literals.EINT);
}
-
+
@Test
- void createParameterWithStringKind() {
+ public void createParameterWithStringKind() {
unit.createParameter("in", "param", EcorePackage.Literals.EINT);
Parameter par = unit.getUnit().getParameter("param");
assertNotNull(par);
- assertEquals(par.getKind(),ParameterKind.IN);
- assertEquals(par.getName(),"param");
+ assertEquals(par.getKind(), ParameterKind.IN);
+ assertEquals(par.getName(), "param");
assertEquals(par.getType(), EcorePackage.Literals.EINT);
}
-
- @Test
- void createParameterWithWrongStringKind() {
- assertThrows(RuntimeException.class,() -> {
- unit.createParameter("cheesecake", "param", EcorePackage.Literals.EINT);
- });
+
+ @Test(expected = RuntimeException.class)
+ public void createParameterWithWrongStringKind() {
+ unit.createParameter("cheesecake", "param", EcorePackage.Literals.EINT);
}
-
+
@Test
- void createParameterWithClassifierString() {
+ public void createParameterWithClassifierString() {
mod.addImport(pack);
rule.createParameter(ParameterKind.IN, "param", "Account");
Parameter par = rule.getUnit().getParameter("param");
- assertEquals(par.getType(),account);
+ assertEquals(par.getType(), account);
}
-
- @Test
- void createParameterWithWrongClassifierString() {
- assertThrows(RuntimeException.class,() -> {
- unit.createParameter(ParameterKind.IN, "param", "cheesecake");
- });
+
+ @Test(expected = RuntimeException.class)
+ public void createParameterWithWrongClassifierString() {
+ unit.createParameter(ParameterKind.IN, "param", "cheesecake");
}
-
+
@Test
- void createParameterAllStrings() {
+ public void createParameterAllStrings() {
mod.addImport(pack);
rule.createParameter("inout", "param", "Account");
Parameter par = rule.getUnit().getParameter("param");
@@ -97,9 +92,9 @@
assertEquals(par.getType(), account);
assertEquals(par.getName(), "param");
}
-
+
@Test
- void mapParameterTest() {
+ public void mapParameterTest() {
unit.createParameter("out", "param1", EcorePackage.Literals.EINT);
rule.createParameter("in", "param2", EcorePackage.Literals.EINT);
assertTrue(unit.getUnit().getParameterMappings().isEmpty());
@@ -110,43 +105,38 @@
assertEquals(map.getSource(), unit.getUnit().getParameter("param1"));
assertEquals(map.getTarget(), rule.getUnit().getParameter("param2"));
}
-
- @Test
- void mapParameterWrongUnitTest() {
+
+ @Test(expected = RuntimeException.class)
+ public void mapParameterWrongUnitTest() {
unit.createParameter("out", "param1", EcorePackage.Literals.EINT);
rule.createParameter("in", "param2", EcorePackage.Literals.EINT);
- Exception e = assertThrows(RuntimeException.class,() -> {
- unit.mapParameterToSubunit("param1", "cheesecake", "param2");
- });
- assertEquals("Unit: cheesecake not found", e.getMessage());
+ unit.mapParameterToSubunit("param1", "cheesecake", "param2");
}
-
- @Test
- void mapParameterWrongParamTest() {
+
+ @Test(expected = RuntimeException.class)
+ public void mapParameterWrongParamTest1() {
unit.createParameter("out", "param1", EcorePackage.Literals.EINT);
rule.createParameter("in", "param2", EcorePackage.Literals.EINT);
- Exception e = assertThrows(RuntimeException.class,() -> {
- unit.mapParameterToSubunit("cheesecake", "rule", "param2");
- });
- assertEquals(e.getMessage(), "Parameter: cheesecake not found");
- e = assertThrows(RuntimeException.class,() -> {
- unit.mapParameterToSubunit("param1", "rule", "cheesecake");
- });
- assertEquals(e.getMessage(), "Parameter: cheesecake in rule not found");
+ unit.mapParameterToSubunit("cheesecake", "rule", "param2");
+ ;
}
-
- @Test
- void mapParameterTypesNotEqualTest() {
+
+ @Test(expected = RuntimeException.class)
+ public void mapParameterWrongParamTest2() {
+ unit.createParameter("out", "param1", EcorePackage.Literals.EINT);
+ rule.createParameter("in", "param2", EcorePackage.Literals.EINT);
+ unit.mapParameterToSubunit("param1", "rule", "cheesecake");
+ }
+
+ @Test(expected = RuntimeException.class)
+ public void mapParameterTypesNotEqualTest() {
unit.createParameter("out", "param1", EcorePackage.Literals.EINT);
rule.createParameter("in", "param2", EcorePackage.Literals.ESTRING);
- Exception e = assertThrows(RuntimeException.class,() -> {
- unit.mapParameterToSubunit("param1", "rule", "param2");
- });
- assertEquals(e.getMessage(), "Parameters do not have equal Types");
+ unit.mapParameterToSubunit("param1", "rule", "param2");
}
-
+
@Test
- void setUnitTest() {
+ public void setUnitTest() {
unit.setUnit(rule.getUnit());
assertEquals(unit.getUnit(), rule.getUnit());
}
diff --git a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/interpreter/DebuggerTests.java b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/interpreter/DebuggerTests.java
index 4f52f7c..fbd64c3 100644
--- a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/interpreter/DebuggerTests.java
+++ b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/interpreter/DebuggerTests.java
@@ -1,8 +1,6 @@
package org.eclipse.emf.henshin.tests.interpreter;
-import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.Assert.assertEquals;
import java.util.List;
@@ -19,17 +17,14 @@
import org.eclipse.emf.henshin.model.Rule;
import org.eclipse.emf.henshin.model.compact.CModule;
import org.eclipse.emf.henshin.model.resource.HenshinResourceSet;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+public class DebuggerTests {
-class DebuggerTests {
-
-
-
static String path;
-
+
HenshinResourceSet res;
EPackage pack;
EClass account;
@@ -38,23 +33,23 @@
Debugger debugger;
EGraph graph;
EGraph expectedResult;
-
- @BeforeAll
+
+ @BeforeClass
public static void globalSetUp() {
path = "src/org/eclipse/emf/henshin/tests/interpreter/";
-
+
}
-
- @BeforeEach
+
+ @Before
public void localSetUp() {
res = new HenshinResourceSet(path);
mod = new CModule(res.getModule("bank.henshin"));
// mod = CModule.loadFromFile(path+"bank.henshin");
graph = new EGraphImpl(res.getResource("example-bank.xmi"));
-
+
debugger = new Debugger(path);
expectedResult = new EGraphImpl(res.getResource("example-result.xmi"));
-
+
pack = res.registerDynamicEPackages("bank.ecore").get(0);
account = (EClass) pack.getEClassifier("Account");
credit = account.getEAllAttributes().get(1);
@@ -62,163 +57,136 @@
}
@Test
- void undoRedoTest() {
- //Using a modified version of https://www.eclipse.org/henshin/examples.php?example=bank for Testing
- //Creating a new account for Alice...
- String expectedAfterUndo;
- expectedAfterUndo = graph.toString().split("\\(")[1];
-
- graph = debugger.executeUnit(graph, mod.getModule(), "createAccount", "Alice", 5);
- //Transferring some Money...
- graph = debugger.executeUnit(graph, mod.getModule(), "transferMoney", "Alice", 1, 2, 50.0d);
- //Deleting all accounts of Charles...
- graph = debugger.executeUnit(graph, mod.getModule(), "deleteAllAccounts", "Charles");
+ public void undoRedoTest() {
+ // Using a modified version of
+ // https://www.eclipse.org/henshin/examples.php?example=bank for Testing
+ // Creating a new account for Alice...
+ String expectedAfterUndo;
+ expectedAfterUndo = graph.toString().split("\\(")[1];
- String graphString, expectedString;
- graphString = graph.toString().split("\\(")[1];
- expectedString = expectedResult.toString().split("\\(")[1];
- //Can only assert same Structure. Same Content needs to be checked.
- assertEquals(graphString, expectedString);
-
- graph = debugger.undo();
- graph = debugger.undo();
- graph = debugger.undo();
- graphString = graph.toString().split("\\(")[1];
- assertEquals(graphString, expectedAfterUndo);
-
- graph = debugger.redo();
- graph = debugger.redo();
- graph = debugger.redo();
+ graph = debugger.executeUnit(graph, mod.getModule(), "createAccount", "Alice", 5);
+ // Transferring some Money...
+ graph = debugger.executeUnit(graph, mod.getModule(), "transferMoney", "Alice", 1, 2, 50.0d);
+ // Deleting all accounts of Charles...
+ graph = debugger.executeUnit(graph, mod.getModule(), "deleteAllAccounts", "Charles");
- graphString = graph.toString().split("\\(")[1];
- assertEquals(graphString, expectedString);
+ String graphString, expectedString;
+ graphString = graph.toString().split("\\(")[1];
+ expectedString = expectedResult.toString().split("\\(")[1];
+ // Can only assert same Structure. Same Content needs to be checked.
+ assertEquals(graphString, expectedString);
+
+ graph = debugger.undo();
+ graph = debugger.undo();
+ graph = debugger.undo();
+ graphString = graph.toString().split("\\(")[1];
+ assertEquals(graphString, expectedAfterUndo);
+
+ graph = debugger.redo();
+ graph = debugger.redo();
+ graph = debugger.redo();
+
+ graphString = graph.toString().split("\\(")[1];
+ assertEquals(graphString, expectedString);
}
-
- @Test
- void undoRedoFailTest() {
-
- Exception e = assertThrows(RuntimeException.class,() -> {
- debugger.undo();
- });
- assertEquals(e.getMessage(), "No undoable Units exist");
- e = assertThrows(RuntimeException.class,() -> {
- debugger.redo();
- });
- assertEquals(e.getMessage(), "No redoable Units exist");
+
+ @Test(expected = RuntimeException.class)
+ public void undoRedoFailTest() {
+ debugger.undo();
+ debugger.redo();
}
-
+
@Test
- void executeRuleOnCompleteMatchTest() {
- List<EObject> list = graph.getDomain(account,true);
+ public void executeRuleOnCompleteMatchTest() {
+ List<EObject> list = graph.getDomain(account, true);
EObject eNode = null;
- for(EObject e: list)
- {
- int iDVal = (int)e.eGet(iD);
- if(iDVal == 2)
- {
- eNode = e;//This should be Account 2
- break;
- }
+ for (EObject e : list) {
+ int iDVal = (int) e.eGet(iD);
+ if (iDVal == 2) {
+ eNode = e;// This should be Account 2
+ break;
+ }
}
-
-
+
Rule r = (Rule) mod.getModule().getUnit("addCreditToRandomAccount2");
Match match = InterpreterFactory.INSTANCE.createMatch(r, false);
- Node n = r.getLhs().getNodes().get(0); //The Rule only has this node.
-
- match.setNodeTarget(n, eNode);
-
- EGraph transformedGraph = debugger.executeRuleOnMatch(graph, mod.getModule(), "addCreditToRandomAccount2", match, 400.0);
- debugger.saveGraph(graph, "debuggerTest-result.xmi");
-
- list = transformedGraph.getDomain(account,true);
- eNode = null;
- for(EObject e: list)
- {
- double value = (double)e.eGet(credit);
+ Node n = r.getLhs().getNodes().get(0); // The Rule only has this node.
- int iDVal = (int) e.eGet(iD);
- if(iDVal == 2)
- {
- assertEquals(value,400.0);
- }
+ match.setNodeTarget(n, eNode);
+
+ EGraph transformedGraph = debugger.executeRuleOnMatch(graph, mod.getModule(), "addCreditToRandomAccount2",
+ match, 400.0);
+ debugger.saveGraph(graph, "debuggerTest-result.xmi");
+
+ list = transformedGraph.getDomain(account, true);
+ eNode = null;
+ for (EObject e : list) {
+ double value = (double) e.eGet(credit);
+
+ int iDVal = (int) e.eGet(iD);
+ if (iDVal == 2) {
+ assertEquals(value, 400.0, 0.01);
+ }
}
}
-
+
@Test
- void executeRuleOnPartialMatchTest() {
- List<EObject> list = graph.getDomain(account,true);
+ public void executeRuleOnPartialMatchTest() {
+ List<EObject> list = graph.getDomain(account, true);
EObject eNode = null;
- for(EObject e: list)
- {
- int iDVal = (int)e.eGet(iD);
- if(iDVal == 2)
- {
- eNode = e;//This should be Account 2
- break;
- }
+ for (EObject e : list) {
+ int iDVal = (int) e.eGet(iD);
+ if (iDVal == 2) {
+ eNode = e;// This should be Account 2
+ break;
+ }
}
-
-
+
Rule r = (Rule) mod.getModule().getUnit("addCreditToRandomAccount");
Match match = InterpreterFactory.INSTANCE.createMatch(r, false);
- Node n = r.getLhs().getNodes().get(0); //The Rule only has this node.
-
- match.setNodeTarget(n, eNode);
-
- EGraph transformedGraph = debugger.executeRuleOnMatch(graph, mod.getModule(), "addCreditToRandomAccount", match, 400.0);
- debugger.saveGraph(graph, "debuggerTest-result.xmi");
-
- list = transformedGraph.getDomain(account,true);
- eNode = null;
- for(EObject e: list)
- {
- double value = (double)e.eGet(credit);
+ Node n = r.getLhs().getNodes().get(0); // The Rule only has this node.
- int iDVal = (int) e.eGet(iD);
- if(iDVal == 2)
- {
- assertEquals(value,400.0);
- }
+ match.setNodeTarget(n, eNode);
+
+ EGraph transformedGraph = debugger.executeRuleOnMatch(graph, mod.getModule(), "addCreditToRandomAccount", match,
+ 400.0);
+ debugger.saveGraph(graph, "debuggerTest-result.xmi");
+
+ list = transformedGraph.getDomain(account, true);
+ eNode = null;
+ for (EObject e : list) {
+ double value = (double) e.eGet(credit);
+
+ int iDVal = (int) e.eGet(iD);
+ if (iDVal == 2) {
+ assertEquals(value, 400.0, 0.01);
+ }
}
}
-
- @Test
- void executeRuleOnMatchStringGraphTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = debugger.executeRuleOnMatch("example-bank.xmi", mod.getModule(), "addCreditToRandomAccount", null, 400.0);
- });
- assertEquals(e.getMessage(), "Failed to apply transformation");
+
+ @Test(expected = RuntimeException.class)
+ public void executeRuleOnMatchStringGraphTest() {
+ graph = debugger.executeRuleOnMatch("example-bank.xmi", mod.getModule(), "addCreditToRandomAccount", null,
+ 400.0);
}
-
- @Test
- void executeRuleOnMatchStringModuleTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = debugger.executeRuleOnMatch(graph, "bank.henshin", "createAccount", null, "Alice", 5);
- });
- assertEquals(e.getMessage(), "Failed to apply transformation");
+
+ @Test(expected = RuntimeException.class)
+ public void executeRuleOnMatchStringModuleTest() {
+ graph = debugger.executeRuleOnMatch(graph, "bank.henshin", "createAccount", null, "Alice", 5);
}
-
+
@Test
- void executeRuleOnMatchAllStringsTest() {
- assertDoesNotThrow(() -> {
- graph = debugger.executeRuleOnMatch("example-bank.xmi", "bank.henshin", "createAccount", null, "Alice", 5);
- });
+ public void executeRuleOnMatchAllStringsTest() {
+ graph = debugger.executeRuleOnMatch("example-bank.xmi", "bank.henshin", "createAccount", null, "Alice", 5);
}
-
- @Test
- void executeRuleOnMatchNoRuleTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = debugger.executeRuleOnMatch("example-bank.xmi", "bank.henshin", "cheesecake", null, "Alice", 5);
- });
- assertEquals(e.getMessage(), "Specified Rule does not exist");
+
+ @Test(expected = RuntimeException.class)
+ public void executeRuleOnMatchNoRuleTest() {
+ graph = debugger.executeRuleOnMatch("example-bank.xmi", "bank.henshin", "cheesecake", null, "Alice", 5);
}
-
- @Test
- void executeRuleOnMatchNotARuleTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = debugger.executeRuleOnMatch("example-bank.xmi", "bank.henshin", "independent", null, "Alice", 5);
- });
- assertEquals(e.getMessage(), "Specified Unit is not a Rule");
+
+ @Test(expected = RuntimeException.class)
+ public void executeRuleOnMatchNotARuleTest() {
+ graph = debugger.executeRuleOnMatch("example-bank.xmi", "bank.henshin", "independent", null, "Alice", 5);
}
}
diff --git a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/interpreter/InterpreterTests.java b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/interpreter/InterpreterTests.java
index 97aa39e..0eef756 100644
--- a/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/interpreter/InterpreterTests.java
+++ b/plugins/org.eclipse.emf.henshin.tests/src/org/eclipse/emf/henshin/tests/interpreter/InterpreterTests.java
@@ -1,7 +1,6 @@
package org.eclipse.emf.henshin.tests.interpreter;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.Assert.assertEquals;
import org.eclipse.emf.henshin.interpreter.ApplicationMonitor;
import org.eclipse.emf.henshin.interpreter.EGraph;
@@ -12,183 +11,159 @@
import org.eclipse.emf.henshin.interpreter.impl.Interpreter;
import org.eclipse.emf.henshin.model.compact.CModule;
import org.eclipse.emf.henshin.model.resource.HenshinResourceSet;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+public class InterpreterTests {
-class InterpreterTests {
-
-
static String path;
-
+
HenshinResourceSet res;
CModule mod;
Interpreter interpreter;
EGraph graph;
EGraph expectedResult;
-
- @BeforeAll
+
+ @BeforeClass
public static void globalSetUp() {
path = "src/org/eclipse/emf/henshin/tests/interpreter/";
-
+
}
-
- @BeforeEach
+
+ @Before
public void localSetUp() {
res = new HenshinResourceSet(path);
mod = new CModule(res.getModule("bank.henshin"));
// mod = CModule.loadFromFile(path+"bank.henshin");
graph = new EGraphImpl(res.getResource("example-bank.xmi"));
-
+
interpreter = new Interpreter(path);
expectedResult = new EGraphImpl(res.getResource("example-result.xmi"));
}
@Test
- void executeUnitTest()
- {
- //Using https://www.eclipse.org/henshin/examples.php?example=bank for Testing
- //Creating a new account for Alice...
+ public void executeUnitTest() {
+ // Using https://www.eclipse.org/henshin/examples.php?example=bank for Testing
+ // Creating a new account for Alice...
graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice", 5);
- //Transferring some Money...
+ // Transferring some Money...
graph = interpreter.executeUnit(graph, mod.getModule(), "transferMoney", "Alice", 1, 2, 50.0d);
- //Deleting all accounts of Charles...
+ // Deleting all accounts of Charles...
graph = interpreter.executeUnit(graph, mod.getModule(), "deleteAllAccounts", "Charles");
- //Save the result:
+ // Save the result:
interpreter.saveGraph(graph, "test-result.xmi");
String graphString, expectedString;
graphString = graph.toString().split("\\(")[1];
expectedString = expectedResult.toString().split("\\(")[1];
- //Can only assert same Structure. Same Content needs to be checked.
+ // Can only assert same Structure. Same Content needs to be checked.
assertEquals(graphString, expectedString);
}
-
- @Test
- void executeUnitStringGraphTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = interpreter.executeUnit("example-bank.xmi", mod.getModule(), "createAccount", "Alice", 5);
- });
- assertEquals(e.getMessage(), "Failed to apply transformation");
+
+ @Test(expected = RuntimeException.class)
+ public void executeUnitStringGraphTest() {
+ graph = interpreter.executeUnit("example-bank.xmi", mod.getModule(), "createAccount", "Alice", 5);
}
-
- @Test
- void executeUnitStringModuleTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = interpreter.executeUnit(graph, "bank.henshin", "createAccount", "Alice", 5);
- });
- assertEquals(e.getMessage(), "Failed to apply transformation");
+
+ @Test(expected = RuntimeException.class)
+ public void executeUnitStringModuleTest() {
+ graph = interpreter.executeUnit(graph, "bank.henshin", "createAccount", "Alice", 5);
}
-
+
@Test
- void executeUnitAllStringsTest() {
- //Using https://www.eclipse.org/henshin/examples.php?example=bank for Testing
- //Creating a new account for Alice...
- graph = interpreter.executeUnit("example-bank.xmi", "bank.henshin", "createAccount", "Alice", 5);
- //Transferring some Money...
- graph = interpreter.executeUnit(graph, "bank.henshin", "transferMoney", "Alice", 1, 2, 50.0d);
- //Deleting all accounts of Charles...
- graph = interpreter.executeUnit(graph, "bank.henshin", "deleteAllAccounts", "Charles");
- //Save the result:
- interpreter.saveGraph(graph, "test-result.xmi");
- String graphString, expectedString;
- graphString = graph.toString().split("\\(")[1];
- expectedString = expectedResult.toString().split("\\(")[1];
- //Can only assert same Structure. Same Content needs to be checked.
- assertEquals(graphString, expectedString);
+ public void executeUnitAllStringsTest() {
+ // Using https://www.eclipse.org/henshin/examples.php?example=bank for Testing
+ // Creating a new account for Alice...
+ graph = interpreter.executeUnit("example-bank.xmi", "bank.henshin", "createAccount", "Alice", 5);
+ // Transferring some Money...
+ graph = interpreter.executeUnit(graph, "bank.henshin", "transferMoney", "Alice", 1, 2, 50.0d);
+ // Deleting all accounts of Charles...
+ graph = interpreter.executeUnit(graph, "bank.henshin", "deleteAllAccounts", "Charles");
+ // Save the result:
+ interpreter.saveGraph(graph, "test-result.xmi");
+ String graphString, expectedString;
+ graphString = graph.toString().split("\\(")[1];
+ expectedString = expectedResult.toString().split("\\(")[1];
+ // Can only assert same Structure. Same Content needs to be checked.
+ assertEquals(graphString, expectedString);
}
-
- @Test
- void executeUnitWrongUnitTest() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = interpreter.executeUnit(graph, mod.getModule(), "createCheesecake", "Alice", 5);
- });
- assertEquals(e.getMessage(), "Unit: createCheesecake doesn't exist in this Module");
+
+ @Test(expected = RuntimeException.class)
+ public void executeUnitWrongUnitTest() {
+ graph = interpreter.executeUnit(graph, mod.getModule(), "createCheesecake", "Alice", 5);
}
-
- @Test
- void executeUnitParamListTooLong() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice", 5, "cheesecake");
- });
- assertEquals(e.getMessage(), "Too much ParameterValues were specified!");
+
+ @Test(expected = RuntimeException.class)
+ public void executeUnitParamListTooLong() {
+ graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice", 5, "cheesecake");
}
-
- @Test
- void executeUnitParamListTooShort() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice");
- });
- assertEquals(e.getMessage(), "Too less ParameterValues were specified!");
+
+ @Test(expected = RuntimeException.class)
+ public void executeUnitParamListTooShort() {
+ graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice");
}
-
- @Test
- void executeUnitParamTypeNotMatching() {
- Exception e = assertThrows(RuntimeException.class,() -> {
- graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice", "5");
- });
- assertEquals(e.getMessage(), "Parameter Value for accountId does not have the correct Type");
+
+ @Test(expected = RuntimeException.class)
+ public void executeUnitParamTypeNotMatching() {
+ graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice", "5");
}
-
+
@Test
- void getResultParameterValueTest() {
+ public void getResultParameterValueTest() {
graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice", 5);
assertEquals(interpreter.getResultParameterValue("accountId"), 5);
}
-
- @Test
- void getResultParameterValueWrongParamName() {
- graph = interpreter.executeUnit(graph, mod.getModule(), "createAccount", "Alice", 5);
- assertThrows(RuntimeException.class,() -> {
- interpreter.getResultParameterValue("cheesecake");
- });
+
+ @Test(expected = RuntimeException.class)
+ public void getResultParameterValueWrongParamName() {
+ interpreter.getResultParameterValue("cheesecake");
}
-
+
@Test
- void getterSetterCoverage() {
+ public void getterSetterCoverage() {
Engine engine = new EngineImpl();
interpreter.setEngine(engine);
assertEquals(interpreter.getEngine(), engine);
ApplicationMonitor appMon = new ApplicationMonitor() {
-
+
@Override
public void notifyUndo(UnitApplication arg0, boolean arg1) {
-
+
}
-
+
@Override
public void notifyRedo(UnitApplication arg0, boolean arg1) {
-
+
}
-
+
@Override
public void notifyExecute(UnitApplication arg0, boolean arg1) {
-
+
}
-
+
@Override
public boolean isUndo() {
return false;
}
-
+
@Override
public boolean isCanceled() {
return false;
}
-
+
@Override
public void cancelAndUndo() {
-
+
}
-
+
@Override
public void cancel() {
-
+
}
};
-
+
interpreter.setApplicationMonitor(appMon);
- assertEquals(interpreter.getApplicationMonitor(),appMon);
+ assertEquals(interpreter.getApplicationMonitor(), appMon);
}
-
+
}