From 574353e81c725c300c75dcf7892aae9b30808456 Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Mon, 25 Nov 2019 16:41:27 +0100 Subject: [PATCH] add test for state machine --- .../inf/st/e2j/TransformationTest.java | 5 +++ .../inf/st/e2j/parser/ParserTest.java | 35 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/test/java/de/tudresden/inf/st/e2j/TransformationTest.java b/src/test/java/de/tudresden/inf/st/e2j/TransformationTest.java index a0a9b71..f934124 100644 --- a/src/test/java/de/tudresden/inf/st/e2j/TransformationTest.java +++ b/src/test/java/de/tudresden/inf/st/e2j/TransformationTest.java @@ -110,6 +110,11 @@ class TransformationTest extends AbstractTest { } } + @Test + void transformStateMachine() { + transformFile("/ecore/statemachine.ecore", "src/gen/resources/grammar/statemachine.relast"); + } + @Test void transformTrain() { transformFile("/ecore/Train.ecore", "src/gen/resources/grammar/Train.relast"); diff --git a/src/test/java/de/tudresden/inf/st/e2j/parser/ParserTest.java b/src/test/java/de/tudresden/inf/st/e2j/parser/ParserTest.java index 8d3b97f..08a6439 100644 --- a/src/test/java/de/tudresden/inf/st/e2j/parser/ParserTest.java +++ b/src/test/java/de/tudresden/inf/st/e2j/parser/ParserTest.java @@ -67,6 +67,41 @@ class ParserTest extends AbstractTest { } + @Test + void parseStateMachine() { + + EObject ePackage = null; + + final String fileName = "/ecore/statemachine.ecore"; + + EcoreParser parser = new EcoreParser(); + + try (InputStream stream = this.getClass().getResourceAsStream(fileName)) { + Assertions.assertNotNull(stream, "unable to load resource '" + fileName + "'"); + ePackage = parser.parse(stream).get(0); + } catch (IOException | XMIParseException e) { + Assertions.fail(e); + } + + Assertions.assertNotNull(ePackage); + + Assertions.assertTrue(ePackage instanceof EPackage); + + EPackage p = (EPackage) ePackage; + + StringBuilder b = new StringBuilder(); + + p.writeXMI(b); + + try (PrintWriter out = new PrintWriter("src/gen/resources/ecore/statemachine.ecore")) { + out.print(b.toString()); + } catch (FileNotFoundException e) { + Assertions.fail("unable to write output file", e); + } + + System.out.println(b.toString()); + } + @Test void parseBigraph() { -- GitLab