From 03b1771a95faf7c5805db5e5281e23990f502c3c Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Sun, 8 Dec 2024 12:00:44 +0100 Subject: [PATCH] add test for constructor reordering with relations. --- src/test/jastadd/constructors/Constructors.relast | 7 +++++++ .../org/jastadd/relast/tests/ConstructorsTest.java | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/test/jastadd/constructors/Constructors.relast b/src/test/jastadd/constructors/Constructors.relast index 23f473b..e419d93 100644 --- a/src/test/jastadd/constructors/Constructors.relast +++ b/src/test/jastadd/constructors/Constructors.relast @@ -8,3 +8,10 @@ C : B ::= /<B8:long>/ /<B7>/ /[B6:A]/ /B5:A*/ /B4:A/ [B3:A] B2:A* B1:A; rel A.r1 -> X; rel S.r2* <-> Y.r2; rel B.r3? -> X; + +// testing reordering of children +Super ::= <Name>; +Order : Super ::= X MyY:Y; +ReOrder : Order ::= MyY:Y X; + +rel Super.x -> X; \ No newline at end of file diff --git a/src/test/java/org/jastadd/relast/tests/ConstructorsTest.java b/src/test/java/org/jastadd/relast/tests/ConstructorsTest.java index ba22042..26fb00a 100644 --- a/src/test/java/org/jastadd/relast/tests/ConstructorsTest.java +++ b/src/test/java/org/jastadd/relast/tests/ConstructorsTest.java @@ -70,6 +70,17 @@ public class ConstructorsTest { Assertions.assertEquals(3, numberOfConstructors(B.class)); } + @Test + public void testReordering() { + String name = ""; + X x = new X(); + Y y = new Y(); + Order o = new Order(name, x, y); + Assertions.assertEquals(3, numberOfConstructors(Order.class)); + ReOrder ro = new ReOrder(name, y, x); + Assertions.assertEquals(3, numberOfConstructors(ReOrder.class)); + } + private int numberOfConstructors(Class<?> clazz) { return clazz.getConstructors().length; } -- GitLab