Skip to content
Snippets Groups Projects
Commit e8cc7649 authored by René Schöne's avatar René Schöne
Browse files

Update (unreleased) version of relast, working on #3.

parent 20e94e9c
No related branches found
No related tags found
No related merge requests found
Pipeline #8218 failed
No preview for this file type
...@@ -3,6 +3,7 @@ Root : Nameable ::= A B* [C] ; ...@@ -3,6 +3,7 @@ Root : Nameable ::= A B* [C] ;
A : Nameable ::= B MyC:C ; A : Nameable ::= B MyC:C ;
B : Nameable ::= <OtherValue> ; B : Nameable ::= <OtherValue> ;
C : Nameable ::= [A] <Unwanted:int> <RawReference:A> /Calculated:A/ /AlsoCalculated:B*/ ; C : Nameable ::= [A] <Unwanted:int> <RawReference:A> /Calculated:A/ /AlsoCalculated:B*/ ;
SubC : C ::= <RawReference:A> <Unwanted:int> [A] /Calculated:A/ /AlsoCalculated:B*/ ;
rel B.oneA -> A ; rel B.oneA -> A ;
rel B.maybeC? -> C ; rel B.maybeC? -> C ;
......
package de.tudresden.inf.st.jastadd.testDumper; package de.tudresden.inf.st.jastadd.testDumper;
import de.tudresden.inf.st.jastadd.dumpAst.ast.DumpNode; import de.tudresden.inf.st.jastadd.dumpAst.ast.DumpNode;
import org.jastadd.testDumper.ast.C;
import org.jastadd.testDumper.ast.Root; import org.jastadd.testDumper.ast.Root;
import org.jastadd.testDumper.ast.SubC;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.util.List; import java.util.List;
import static de.tudresden.inf.st.jastadd.testDumper.TestUtils.*; import static de.tudresden.inf.st.jastadd.testDumper.TestUtils.*;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.*;
import static org.assertj.core.api.Assertions.tuple;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
public class TestSimple { public class TestSimple {
...@@ -153,4 +154,22 @@ public class TestSimple { ...@@ -153,4 +154,22 @@ public class TestSimple {
assertThatMapOf(referenceTokens(actualC)).containsExactlyInAnyOrder(tuple(TOKEN_LABEL_RAW_REFERENCE, A_NAME)); assertThatMapOf(referenceTokens(actualC)).containsExactlyInAnyOrder(tuple(TOKEN_LABEL_RAW_REFERENCE, A_NAME));
} }
@Test
public void testChildrenReorder1() {
C subC = new SubC();
subC.setName(C_NAME);
subC.setUnwanted(5);
Root root = createRoot(createA(A_NAME), subC, createB(B_NAME));
List<DumpNode> nodes = TestUtils.dumpModel(root);
assertThat(nodes).flatExtracting(NAME_EXTRACTOR).containsExactlyInAnyOrder(ROOT_NAME, A_NAME, B_NAME, C_NAME);
DumpNode actualRoot = TestUtils.findByName(nodes, ROOT_NAME);
assertEquals(1, actualRoot.getNumDumpToken());
assertEquals(3, actualRoot.getNumDumpChildNode());
assertEquals(0, actualRoot.getNumDumpRelation());
assertThat(valueTokens(findByName(nodes, C_NAME))).containsOnly(
entry("Name", C_NAME),
entry(TOKEN_LABEL_UNWANTED, 5));
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment