diff --git a/plugins/org.etsi.mts.tdl.execution.java.codegen/src/org/etsi/mts/tdl/execution/java/codegen/JUnitTestGenerator.java b/plugins/org.etsi.mts.tdl.execution.java.codegen/src/org/etsi/mts/tdl/execution/java/codegen/JUnitTestGenerator.java index 64c4a78d4e2f44e01022141b9686b0c0f09af789..7876f84eb6807e450bc55d71fdde32bac7e590c3 100644 --- a/plugins/org.etsi.mts.tdl.execution.java.codegen/src/org/etsi/mts/tdl/execution/java/codegen/JUnitTestGenerator.java +++ b/plugins/org.etsi.mts.tdl.execution.java.codegen/src/org/etsi/mts/tdl/execution/java/codegen/JUnitTestGenerator.java @@ -27,6 +27,7 @@ import org.etsi.mts.tdl.Behaviour; import org.etsi.mts.tdl.Block; import org.etsi.mts.tdl.BoundedLoopBehaviour; import org.etsi.mts.tdl.Break; +import org.etsi.mts.tdl.CastDataUse; import org.etsi.mts.tdl.CollectionDataType; import org.etsi.mts.tdl.CombinedBehaviour; import org.etsi.mts.tdl.ComponentInstance; @@ -1703,6 +1704,15 @@ public class JUnitTestGenerator extends Renderer { PredefinedFunction predefinedFunction = null; List<MemberAssignment> memberAssignments = null; List<DataUse> collectionItems = null; + DataType castTo = null; + + String ref = dataUseVariables.get(d); + List<ParameterBinding> arguments = getDataUseArguments(d); + + if (d instanceof CastDataUse) { + castTo = ((CastDataUse) d).getDataType(); + d = ((CastDataUse) d).getDataUse(); + } if (d instanceof DataElementUse) { NamedElement element = ((DataElementUse) d).getDataElement(); @@ -1747,10 +1757,13 @@ public class JUnitTestGenerator extends Renderer { predefinedFunction = ((PredefinedFunctionCall) d).getFunction(); } - String ref = dataUseVariables.get(d); append(ref); if (!isUnmapped()) { append(" = "); + if (castTo != null) { + DataElementMapping m = getMappingChecked(castTo); + append("(" + m.getElementURI() + ")"); + } } String typeName = declaredTypes.get(d.resolveDataType()); @@ -1884,8 +1897,8 @@ public class JUnitTestGenerator extends Renderer { line(";"); - if (!getDataUseArguments(d).isEmpty()) { - for (ParameterBinding arg : getDataUseArguments(d)) { + if (!arguments.isEmpty()) { + for (ParameterBinding arg : arguments) { // TODO members of collection type append(ref); append(".");