Loading de.ugoe.cs.swe.TTCN3.tests/src/de/ugoe/cs/swe/tests/TTCN3ParsingTest.xtend +37 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,11 @@ import org.eclipse.xtext.testing.util.ParseHelper import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Test import org.junit.jupiter.api.^extension.ExtendWith import de.ugoe.cs.swe.tTCN3.ConstDef import static extension de.ugoe.cs.swe.common.TTCN3ScopeHelper.* import de.ugoe.cs.swe.tTCN3.TemplateDef import de.ugoe.cs.swe.tTCN3.FieldExpressionList import org.eclipse.xtext.nodemodel.util.NodeModelUtils @ExtendWith(InjectionExtension) @InjectWith(TTCN3InjectorProvider) Loading @@ -29,4 +34,36 @@ class TTCN3ParsingTest { val errors = result.eResource.errors Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''') } @Test def void checkReferences() { val result = parseHelper.parse(''' module Sample { type record sample { integer ifield, charstring cfield } template sample t_sample := { ifield := 1, cfield := "a" }; } ''') Assertions.assertNotNull(result) val errors = result.eResource.errors Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''') var template = result.modules.first.defs.definitions.last.def if (template instanceof TemplateDef) { var type = template.base.type.ref.getReferencedType Assertions.assertFalse(type.eIsProxy, "Type cannot be resolved") var expr = template.body.simple.expr if (expr instanceof FieldExpressionList) { var fieldRefs = expr.specs.map[it.fieldRef] for (field : fieldRefs) { Assertions.assertFalse(field.eIsProxy, "Field cannot be resolved") } } } } } Loading
de.ugoe.cs.swe.TTCN3.tests/src/de/ugoe/cs/swe/tests/TTCN3ParsingTest.xtend +37 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,11 @@ import org.eclipse.xtext.testing.util.ParseHelper import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Test import org.junit.jupiter.api.^extension.ExtendWith import de.ugoe.cs.swe.tTCN3.ConstDef import static extension de.ugoe.cs.swe.common.TTCN3ScopeHelper.* import de.ugoe.cs.swe.tTCN3.TemplateDef import de.ugoe.cs.swe.tTCN3.FieldExpressionList import org.eclipse.xtext.nodemodel.util.NodeModelUtils @ExtendWith(InjectionExtension) @InjectWith(TTCN3InjectorProvider) Loading @@ -29,4 +34,36 @@ class TTCN3ParsingTest { val errors = result.eResource.errors Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''') } @Test def void checkReferences() { val result = parseHelper.parse(''' module Sample { type record sample { integer ifield, charstring cfield } template sample t_sample := { ifield := 1, cfield := "a" }; } ''') Assertions.assertNotNull(result) val errors = result.eResource.errors Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''') var template = result.modules.first.defs.definitions.last.def if (template instanceof TemplateDef) { var type = template.base.type.ref.getReferencedType Assertions.assertFalse(type.eIsProxy, "Type cannot be resolved") var expr = template.body.simple.expr if (expr instanceof FieldExpressionList) { var fieldRefs = expr.specs.map[it.fieldRef] for (field : fieldRefs) { Assertions.assertFalse(field.eIsProxy, "Field cannot be resolved") } } } } }