diff --git a/circus.robocalc.robochart.textual.tests/build.properties b/circus.robocalc.robochart.textual.tests/build.properties index 5c6bbf9..830f351 100755 --- a/circus.robocalc.robochart.textual.tests/build.properties +++ b/circus.robocalc.robochart.textual.tests/build.properties @@ -2,5 +2,6 @@ source.. = src/,\ src-gen/,\ xtend-gen/ bin.includes = .,\ - META-INF/ + META-INF/,\ + junit-platform.properties bin.excludes = **/*.xtend diff --git a/circus.robocalc.robochart.textual.tests/junit-platform.properties b/circus.robocalc.robochart.textual.tests/junit-platform.properties new file mode 100644 index 0000000..23acd63 --- /dev/null +++ b/circus.robocalc.robochart.textual.tests/junit-platform.properties @@ -0,0 +1 @@ +junit.jupiter.testclass.order.default=org.junit.jupiter.api.ClassOrderer$OrderAnnotation \ No newline at end of file diff --git a/circus.robocalc.robochart.textual.tests/pom.xml b/circus.robocalc.robochart.textual.tests/pom.xml index 6bc94ec..b7b48e7 100755 --- a/circus.robocalc.robochart.textual.tests/pom.xml +++ b/circus.robocalc.robochart.textual.tests/pom.xml @@ -28,14 +28,15 @@ Version Update 3.1.0 : Nov 2022 org.eclipse.xtend xtend-maven-plugin - + org.eclipse.tycho diff --git a/circus.robocalc.robochart.textual.tests/robochart-tests b/circus.robocalc.robochart.textual.tests/robochart-tests index b77c301..7cddcda 160000 --- a/circus.robocalc.robochart.textual.tests/robochart-tests +++ b/circus.robocalc.robochart.textual.tests/robochart-tests @@ -1 +1 @@ -Subproject commit b77c3013a1eb5883db3614208a56a6c30bbe7549 +Subproject commit 7cddcda64b1e6755a68f4fa559cba8c3df3a0d63 diff --git a/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/IntegrationTest.xtend b/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/IntegrationTest.xtend index bd12ff3..85edcb1 100755 --- a/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/IntegrationTest.xtend +++ b/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/IntegrationTest.xtend @@ -37,9 +37,17 @@ import org.junit.jupiter.api.^extension.ExtendWith import circus.robocalc.robochart.RCPackage import circus.robocalc.robochart.RoboChartPackage.Literals import org.eclipse.emf.ecore.EClass +import org.junit.jupiter.api.TestMethodOrder +import org.junit.jupiter.api.MethodOrderer.OrderAnnotation +import org.junit.jupiter.api.Order +import org.junit.jupiter.api.TestClassOrder +import org.junit.jupiter.api.ClassOrderer @ExtendWith(InjectionExtension) @InjectWith(RoboChartInjectorProvider) +@TestMethodOrder(OrderAnnotation) +@TestClassOrder(ClassOrderer.OrderAnnotation) +@Order(1) class IntegrationTest { // @Inject ParseHelper parseHelper @Inject extension SmartParserHelper @@ -47,6 +55,13 @@ class IntegrationTest { val top_dir = "robochart-tests/" + @Test + @Order(1) + def void testSimpleMachine() { + val dir = top_dir+"robochart/test-simple-machine" + TestRoboChartModel(dir) + } + @Test def void AlphaAlgorithm() { val dir = top_dir+"robochart/AlphaAlgorithm" diff --git a/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/RoboChartParsingTest.xtend b/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/RoboChartParsingTest.xtend index 89877ef..0211831 100755 --- a/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/RoboChartParsingTest.xtend +++ b/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/RoboChartParsingTest.xtend @@ -45,9 +45,15 @@ import org.eclipse.xtext.testing.validation.ValidationTestHelper import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Test import org.junit.jupiter.api.^extension.ExtendWith +import org.eclipse.core.runtime.FileLocator +import org.junit.jupiter.api.Order +import org.junit.jupiter.api.TestClassOrder +import org.junit.jupiter.api.ClassOrderer @ExtendWith(InjectionExtension) @InjectWith(RoboChartInjectorProvider) +@TestClassOrder(ClassOrderer.OrderAnnotation) +@Order(2) class RoboChartParsingTest { @Inject extension SmartParseHelper @Inject extension ValidationTestHelper @@ -278,11 +284,12 @@ class SmartParseHelper extends ParseHelper { jar.close(); } else { // treating case where the resource files are a project in the workspace - var url = classLoader.getResource(cleanPath); + var url = classLoader.getResource("lib/robochart"); if (url === null) { - val pathInLib = if (cleanPath.startsWith("lib/")) cleanPath.replaceFirst("lib/","") else cleanPath - url = classLoader.getResource(pathInLib); + url = classLoader.getResource("robochart"); } + + url = FileLocator.toFileURL(url); val path = Paths.get(url.toURI) var Stream walk = Files.list(path); for (var Iterator it = walk.iterator(); it.hasNext();) { @@ -305,7 +312,7 @@ class SmartParseHelper extends ParseHelper { def createResourceSet() { val rs = rsp.get(); - addRoboChartLibrary(rs); + //addRoboChartLibrary(rs); return rs; } diff --git a/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/SmartParserHelper.xtend b/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/SmartParserHelper.xtend index f7c1d6e..13def21 100644 --- a/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/SmartParserHelper.xtend +++ b/circus.robocalc.robochart.textual.tests/src/circus/robocalc/robochart/textual/tests/SmartParserHelper.xtend @@ -51,29 +51,29 @@ class SmartParserHelper extends ParseHelper { jar.close(); } else { // treating case where the resource files are a project in the workspace - var url = classLoader.getResource("lib/robochart"); - if (url === null) { - url = classLoader.getResource("robochart"); - } - - url = FileLocator.toFileURL(url); - val path = Paths.get(url.toURI) - var Stream walk = Files.list(path); - for (var Iterator it = walk.iterator(); it.hasNext();) { - val p = it.next() - val is = p.toUri().toURL.openStream; - val furi = URI.createFileURI(p.toUri.toURL.path) - val r = rs.createResource(furi) - r.load(is, rs.loadOptions) - } - walk.close(); +// var url = classLoader.getResource("lib/robochart"); +// if (url === null) { +// url = classLoader.getResource("robochart"); +// } +// +// url = FileLocator.toFileURL(url); +// val path = Paths.get(url.toURI) +// var Stream walk = Files.list(path); +// for (var Iterator it = walk.iterator(); it.hasNext();) { +// val p = it.next() +// val is = p.toUri().toURL.openStream; +// val furi = URI.createFileURI(p.toUri.toURL.path) +// val r = rs.createResource(furi) +// r.load(is, rs.loadOptions) +// } +// walk.close(); } } def createResourceSet() { val rs = rsp.get(); // loading robochart libraries - loadRoboChartLibrary(rs) + //loadRoboChartLibrary(rs) return rs; } diff --git a/circus.robocalc.robochart.textual/src/circus/robocalc/robochart/textual/scoping/RoboChartScopeProvider.xtend b/circus.robocalc.robochart.textual/src/circus/robocalc/robochart/textual/scoping/RoboChartScopeProvider.xtend index db3d6f9..7c491f8 100644 --- a/circus.robocalc.robochart.textual/src/circus/robocalc/robochart/textual/scoping/RoboChartScopeProvider.xtend +++ b/circus.robocalc.robochart.textual/src/circus/robocalc/robochart/textual/scoping/RoboChartScopeProvider.xtend @@ -227,6 +227,7 @@ class RoboChartScopeProvider extends AbstractRoboChartScopeProvider { return scope } } else if (context instanceof Transition) { + delegateGetScope(context, reference) val r = IScope::NULLSCOPE if (reference === TRANSITION__SOURCE) { if (context.eContainer instanceof NodeContainer) {