Skip to content

Commit

Permalink
[Test] Update AspectOverridingTest
Browse files Browse the repository at this point in the history
  • Loading branch information
fcoulon committed Jul 19, 2016
1 parent cbf28a3 commit aee7cc8
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ public class AspectOverridingTest extends AbstractXtextTests
melangeProject = helper.deployMelangeProject(PROJECT_NAME,"tests-inputs/fr.inria.diverse.melange.test.overriding.main.zip")
helper.deployMelangeProject("fr.inria.diverse.melange.test.overriding.aspects","tests-inputs/fr.inria.diverse.melange.test.overriding.aspects.zip")
helper.deployMelangeProject("fr.inria.diverse.melange.test.overriding.model","tests-inputs/fr.inria.diverse.melange.test.overriding.model.zip")
// helper.generateAll(MELANGE_FILE)
IResourcesSetupUtil::waitForAutoBuild
helper.openEditor(MELANGE_FILE)
} else {
melangeProject = helper.getProject(PROJECT_NAME)
}
Expand All @@ -60,7 +60,7 @@ public class AspectOverridingTest extends AbstractXtextTests
def void test1GeneratedModelTypes() {
helper.generateInterfaces(MELANGE_FILE)
IResourcesSetupUtil::waitForAutoBuild
helper.assertNoMarkers
//TODO: check generated files exist
}

@Test
Expand Down Expand Up @@ -108,39 +108,39 @@ public class AspectOverridingTest extends AbstractXtextTests

val L0Lang = treeRoot.children.get(0)
val L1Lang = treeRoot.children.get(1)
val L2Lang = treeRoot.children.get(2)
val L2bLang = treeRoot.children.get(3)
val L3Lang = treeRoot.children.get(4)
val L3bLang = treeRoot.children.get(5)
val L4Lang = treeRoot.children.get(6)
val L4Lang = treeRoot.children.get(2)
val L2Lang = treeRoot.children.get(3)
val L2bLang = treeRoot.children.get(4)
val L3Lang = treeRoot.children.get(5)
val L3bLang = treeRoot.children.get(6)
val execute = treeRoot.children.get(7)
val main = treeRoot.children.get(8)
val L0mt = treeRoot.children.get(9)
val L1mt = treeRoot.children.get(10)
val L2mt = treeRoot.children.get(11)
val L2bmt = treeRoot.children.get(12)
val L3mt = treeRoot.children.get(13)
val L3bmt = treeRoot.children.get(14)
val L4mt = treeRoot.children.get(15)
val L4mt = treeRoot.children.get(11)
val L2mt = treeRoot.children.get(12)
val L2bmt = treeRoot.children.get(13)
val L3mt = treeRoot.children.get(14)
val L3bmt = treeRoot.children.get(15)
val imports = treeRoot.children.get(16)

//Check top elements
assertEquals("L0 \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L0Lang.text.toString)
assertEquals("L1 \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L1Lang.text.toString)
assertEquals("L2\u25C0L0, L1 \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L2Lang.text.toString)
assertEquals("L2b\u25C0L0, L1 \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L2bLang.text.toString)
assertEquals("L3\u25C0L2 \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L3Lang.text.toString)
assertEquals("L3b\u25C0L2 \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L3bLang.text.toString)
assertEquals("L4 \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L4Lang.text.toString)
assertEquals("L0 \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L0Lang.text.toString)
assertEquals("L1 \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L1Lang.text.toString)
assertEquals("L4 \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L4Lang.text.toString)
assertEquals("L2\u25C0L0, L1 \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L2Lang.text.toString)
assertEquals("L2b\u25C0L0, L1 \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L2bLang.text.toString)
assertEquals("L3\u25C0L2 \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L3Lang.text.toString)
assertEquals("L3b\u25C0L2 \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L3bLang.text.toString)
assertEquals("execute", execute.text.toString)
assertEquals("main", main.text.toString)
assertEquals("L0mt \u25C1 L1mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L0mt.text.toString)
assertEquals("L1mt \u25C1 L0mt, L2mt, L2bmt, L3mt, L3bmt, L4mt", L1mt.text.toString)
assertEquals("L2mt \u25C1 L0mt, L1mt, L2bmt, L3mt, L3bmt, L4mt", L2mt.text.toString)
assertEquals("L2bmt \u25C1 L0mt, L1mt, L2mt, L3mt, L3bmt, L4mt", L2bmt.text.toString)
assertEquals("L3mt \u25C1 L0mt, L1mt, L2mt, L2bmt, L3bmt, L4mt", L3mt.text.toString)
assertEquals("L3bmt \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L4mt", L3bmt.text.toString)
assertEquals("L0mt \u25C1 L1mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L0mt.text.toString)
assertEquals("L1mt \u25C1 L0mt, L4mt, L2mt, L2bmt, L3mt, L3bmt", L1mt.text.toString)
assertEquals("L4mt \u25C1 L0mt, L1mt, L2mt, L2bmt, L3mt, L3bmt", L4mt.text.toString)
assertEquals("L2mt \u25C1 L0mt, L1mt, L4mt, L2bmt, L3mt, L3bmt", L2mt.text.toString)
assertEquals("L2bmt \u25C1 L0mt, L1mt, L4mt, L2mt, L3mt, L3bmt", L2bmt.text.toString)
assertEquals("L3mt \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3bmt", L3mt.text.toString)
assertEquals("L3bmt \u25C1 L0mt, L1mt, L4mt, L2mt, L2bmt, L3mt", L3bmt.text.toString)

//Check packages for Languages & ModelTypes
val L0Syntax = L0Lang.children.head
Expand All @@ -158,13 +158,13 @@ public class AspectOverridingTest extends AbstractXtextTests
val L3bmtSyntax = L3bmt.children.head
val L4mtSyntax = L4mt.children.head

helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L0Syntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L1Syntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L2Syntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L2bSyntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L3Syntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L3bSyntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L4Syntax)
helper.assertMatch("tests-inputs/models/model.ecore", L0Syntax)
helper.assertMatch("tests-inputs/models/model.ecore", L1Syntax)
helper.assertMatch("tests-inputs/models/model.ecore", L2Syntax)
helper.assertMatch("tests-inputs/models/model.ecore", L2bSyntax)
helper.assertMatch("tests-inputs/models/model.ecore", L3Syntax)
helper.assertMatch("tests-inputs/models/model.ecore", L3bSyntax)
helper.assertMatch("tests-inputs/models/model.ecore", L4Syntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L0mtSyntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L1mtSyntax)
helper.assertMatch("tests-inputs/modelTypes/L0mt.ecore", L2mtSyntax)
Expand Down Expand Up @@ -269,29 +269,29 @@ public class AspectOverridingTest extends AbstractXtextTests
//L0
val asp0 = allSemL0.head
assertEquals("A",asp0.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.aspects.Asp0",asp0.aspectTypeRef.qualifiedName)
assertEquals("fr.inria.diverse.melange.test.overridding.l0.aspects.Asp0",asp0.aspectTypeRef.qualifiedName)
checkFragment(asp0.ecoreFragment)

//L1
val asp1a = allSemL1.get(0)
assertEquals("A",asp1a.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.aspects.Asp1a",asp1a.aspectTypeRef.qualifiedName)
assertEquals("fr.inria.diverse.melange.test.overridding.l1.aspects.Asp1a",asp1a.aspectTypeRef.qualifiedName)
val asp1b = allSemL1.get(1)
assertEquals("A",asp1b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.aspects.Asp1b",asp1b.aspectTypeRef.qualifiedName)
assertEquals("fr.inria.diverse.melange.test.overridding.l1.aspects.Asp1b",asp1b.aspectTypeRef.qualifiedName)
checkFragment(asp1a.ecoreFragment)
checkFragment(asp1b.ecoreFragment)

//L2
val asp2 = allSemL2.get(0)
assertEquals("A",asp2.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2.aspects.Asp2",asp2.aspectTypeRef.qualifiedName)
val asp1b_L2 = allSemL2.get(1)
assertEquals("A",asp1b_L2.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2.aspects.Asp1b",asp1b_L2.aspectTypeRef.qualifiedName)
val asp1a_L2 = allSemL2.get(2)
val asp1a_L2 = allSemL2.get(1)
assertEquals("A",asp1a_L2.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2.aspects.Asp1a",asp1a_L2.aspectTypeRef.qualifiedName)
val asp1b_L2 = allSemL2.get(2)
assertEquals("A",asp1b_L2.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2.aspects.Asp1b",asp1b_L2.aspectTypeRef.qualifiedName)
val asp0_L2 = allSemL2.get(3)
assertEquals("A",asp0_L2.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2.aspects.Asp0",asp0_L2.aspectTypeRef.qualifiedName)
Expand All @@ -301,12 +301,12 @@ public class AspectOverridingTest extends AbstractXtextTests
checkFragment(asp0_L2.ecoreFragment)

//L2b
val asp1b_L2b = allSemL2b.get(0)
assertEquals("A",asp1b_L2b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2b.aspects.Asp1b",asp1b_L2b.aspectTypeRef.qualifiedName)
val asp1a_L2b = allSemL2b.get(1)
val asp1a_L2b = allSemL2b.get(0)
assertEquals("A",asp1a_L2b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2b.aspects.Asp1a",asp1a_L2b.aspectTypeRef.qualifiedName)
val asp1b_L2b = allSemL2b.get(1)
assertEquals("A",asp1b_L2b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2b.aspects.Asp1b",asp1b_L2b.aspectTypeRef.qualifiedName)
val asp0_L2b = allSemL2b.get(2)
assertEquals("A",asp0_L2b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l2b.aspects.Asp0",asp0_L2b.aspectTypeRef.qualifiedName)
Expand All @@ -324,12 +324,12 @@ public class AspectOverridingTest extends AbstractXtextTests
val asp2_L3 = allSemL3.get(2)
assertEquals("A",asp2_L3.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3.aspects.Asp2",asp2_L3.aspectTypeRef.qualifiedName)
val asp1b_L3 = allSemL3.get(3)
assertEquals("A",asp1b_L3.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3.aspects.Asp1b",asp1b_L3.aspectTypeRef.qualifiedName)
val asp1a_L3 = allSemL3.get(4)
val asp1a_L3 = allSemL3.get(3)
assertEquals("A",asp1a_L3.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3.aspects.Asp1a",asp1a_L3.aspectTypeRef.qualifiedName)
val asp1b_L3 = allSemL3.get(4)
assertEquals("A",asp1b_L3.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3.aspects.Asp1b",asp1b_L3.aspectTypeRef.qualifiedName)
val asp0_L3 = allSemL3.get(5)
assertEquals("A",asp0_L3.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3.aspects.Asp0",asp0_L3.aspectTypeRef.qualifiedName)
Expand All @@ -347,12 +347,12 @@ public class AspectOverridingTest extends AbstractXtextTests
val asp2_L3b = allSemL3b.get(1)
assertEquals("A",asp2_L3b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3b.aspects.Asp2",asp2_L3b.aspectTypeRef.qualifiedName)
val asp1b_L3b = allSemL3b.get(2)
assertEquals("A",asp1b_L3b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3b.aspects.Asp1b",asp1b_L3b.aspectTypeRef.qualifiedName)
val asp1a_L3b = allSemL3b.get(3)
val asp1a_L3b = allSemL3b.get(2)
assertEquals("A",asp1a_L3b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3b.aspects.Asp1a",asp1a_L3b.aspectTypeRef.qualifiedName)
val asp1b_L3b = allSemL3b.get(3)
assertEquals("A",asp1b_L3b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3b.aspects.Asp1b",asp1b_L3b.aspectTypeRef.qualifiedName)
val asp0_L3b = allSemL3b.get(4)
assertEquals("A",asp0_L3b.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.l3b.aspects.Asp0",asp0_L3b.aspectTypeRef.qualifiedName)
Expand All @@ -365,7 +365,7 @@ public class AspectOverridingTest extends AbstractXtextTests
//L4
val asp4 = allSemL4.get(0)
assertEquals("A",asp4.aspectedClass.name)
assertEquals("fr.inria.diverse.melange.test.overridding.aspects.Asp4",asp4.aspectTypeRef.qualifiedName)
assertEquals("fr.inria.diverse.melange.test.overridding.l4.aspects.Asp4",asp4.aspectTypeRef.qualifiedName)
checkFragment(asp4.ecoreFragment)
}
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="root" nsURI="http://testroot/" nsPrefix="root">
<eClassifiers xsi:type="ecore:EClass" name="A"/>
</ecore:EPackage>
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ language L1 {
exactType L1mt
}

language L4 {
syntax "platform:/resource/fr.inria.diverse.melange.test.overriding.model/model/model.ecore"
with Asp4
exactType L4mt
}

language L2 inherits L0,L1{
with Asp2
exactType L2mt
Expand All @@ -40,12 +46,6 @@ language L3b inherits L2{
exactType L3bmt
}

language L4 {
syntax "platform:/resource/fr.inria.diverse.melange.test.overriding.model/model/model.ecore"
with Asp4
exactType L4mt
}

transformation execute(L0mt m) {
val root = m.contents.head as fr.inria.diverse.melange.test.overridding.l0mt.root.A
println(root.whoIAm)
Expand All @@ -68,4 +68,4 @@ transformation main() {
execute.call(m3.toL0mt)
execute.call(m3b.toL0mt)
execute.call(m4.toL0mt)
}
}

0 comments on commit aee7cc8

Please sign in to comment.