Skip to content

Commit

Permalink
Added InstanceSpecification transformation tests
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasfruehwirth committed Apr 1, 2021
1 parent d0fa414 commit 93f45c4
Show file tree
Hide file tree
Showing 7 changed files with 432 additions and 35 deletions.
2 changes: 2 additions & 0 deletions Uml2OpcuaTransformationTests/InstanceWithInstanceValueSlot.di
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.infra.services.edit.TypeContext"/>
125 changes: 125 additions & 0 deletions Uml2OpcuaTransformationTests/InstanceWithInstanceValueSlot.notation
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_n9rskMdPEeqBwPQ5-6UCwg" type="PapyrusUMLClassDiagram" name="Class Diagram" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_pu7AsMdPEeqBwPQ5-6UCwg" type="Class_Shape">
<children xmi:type="notation:DecorationNode" xmi:id="_pvEKoMdPEeqBwPQ5-6UCwg" type="Class_NameLabel">
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_punesMdPEeqBwPQ5-6UCwg"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_pvEKocdPEeqBwPQ5-6UCwg" type="Class_FloatingNameLabel">
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_punesMdPEeqBwPQ5-6UCwg"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_pvEKosdPEeqBwPQ5-6UCwg" y="15"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_pvN7oMdPEeqBwPQ5-6UCwg" type="Class_AttributeCompartment">
<children xmi:type="notation:Shape" xmi:id="_Kx7GwTVdEeuvtL-cjTXdxg" type="Property_ClassAttributeLabel">
<element xmi:type="uml:Property" href="InstanceWithInstanceValueSlot.uml#_Kx7GwDVdEeuvtL-cjTXdxg"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_Kx7GwjVdEeuvtL-cjTXdxg"/>
</children>
<styles xmi:type="notation:TitleStyle" xmi:id="_pvN7ocdPEeqBwPQ5-6UCwg"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_pvN7osdPEeqBwPQ5-6UCwg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_pvN7o8dPEeqBwPQ5-6UCwg"/>
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_punesMdPEeqBwPQ5-6UCwg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvN7pMdPEeqBwPQ5-6UCwg"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_pvN7pcdPEeqBwPQ5-6UCwg" type="Class_OperationCompartment">
<styles xmi:type="notation:TitleStyle" xmi:id="_pvN7psdPEeqBwPQ5-6UCwg"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_pvN7p8dPEeqBwPQ5-6UCwg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_pvN7qMdPEeqBwPQ5-6UCwg"/>
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_punesMdPEeqBwPQ5-6UCwg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvN7qcdPEeqBwPQ5-6UCwg"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_pvN7qsdPEeqBwPQ5-6UCwg" type="Class_NestedClassifierCompartment">
<styles xmi:type="notation:TitleStyle" xmi:id="_pvN7q8dPEeqBwPQ5-6UCwg"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_pvN7rMdPEeqBwPQ5-6UCwg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_pvN7rcdPEeqBwPQ5-6UCwg"/>
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_punesMdPEeqBwPQ5-6UCwg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_pvN7rsdPEeqBwPQ5-6UCwg"/>
</children>
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_punesMdPEeqBwPQ5-6UCwg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_pu7AscdPEeqBwPQ5-6UCwg" x="360" y="100"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_JZi-kDVdEeuvtL-cjTXdxg" type="Class_Shape">
<children xmi:type="notation:DecorationNode" xmi:id="_JZi-kjVdEeuvtL-cjTXdxg" type="Class_NameLabel">
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_JZZNkDVdEeuvtL-cjTXdxg"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_JZi-kzVdEeuvtL-cjTXdxg" type="Class_FloatingNameLabel">
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_JZZNkDVdEeuvtL-cjTXdxg"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_JZi-lDVdEeuvtL-cjTXdxg" y="15"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_JZi-lTVdEeuvtL-cjTXdxg" type="Class_AttributeCompartment">
<children xmi:type="notation:Shape" xmi:id="_OiEXkDVdEeuvtL-cjTXdxg" type="Property_ClassAttributeLabel">
<element xmi:type="uml:Property" href="InstanceWithInstanceValueSlot.uml#_Oh7NoDVdEeuvtL-cjTXdxg"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_OiEXkTVdEeuvtL-cjTXdxg"/>
</children>
<styles xmi:type="notation:TitleStyle" xmi:id="_JZi-ljVdEeuvtL-cjTXdxg"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_JZi-lzVdEeuvtL-cjTXdxg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_JZi-mDVdEeuvtL-cjTXdxg"/>
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_JZZNkDVdEeuvtL-cjTXdxg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_JZi-mTVdEeuvtL-cjTXdxg"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_JZi-mjVdEeuvtL-cjTXdxg" type="Class_OperationCompartment">
<styles xmi:type="notation:TitleStyle" xmi:id="_JZi-mzVdEeuvtL-cjTXdxg"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_JZi-nDVdEeuvtL-cjTXdxg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_JZi-nTVdEeuvtL-cjTXdxg"/>
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_JZZNkDVdEeuvtL-cjTXdxg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_JZi-njVdEeuvtL-cjTXdxg"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_JZi-nzVdEeuvtL-cjTXdxg" type="Class_NestedClassifierCompartment">
<styles xmi:type="notation:TitleStyle" xmi:id="_JZi-oDVdEeuvtL-cjTXdxg"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_JZi-oTVdEeuvtL-cjTXdxg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_JZi-ojVdEeuvtL-cjTXdxg"/>
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_JZZNkDVdEeuvtL-cjTXdxg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_JZi-ozVdEeuvtL-cjTXdxg"/>
</children>
<element xmi:type="uml:Class" href="InstanceWithInstanceValueSlot.uml#_JZZNkDVdEeuvtL-cjTXdxg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_JZi-kTVdEeuvtL-cjTXdxg" x="360" y="260"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_F0yisJCUEeueMsP4aHboUw" type="InstanceSpecification_Shape">
<children xmi:type="notation:DecorationNode" xmi:id="_F0yispCUEeueMsP4aHboUw" type="InstanceSpecification_NameLabel">
<element xmi:type="uml:InstanceSpecification" href="InstanceWithInstanceValueSlot.uml#_F0oxsJCUEeueMsP4aHboUw"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_F0yis5CUEeueMsP4aHboUw" type="InstanceSpecification_FloatingNameLabel">
<element xmi:type="uml:InstanceSpecification" href="InstanceWithInstanceValueSlot.uml#_F0oxsJCUEeueMsP4aHboUw"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_F0yitJCUEeueMsP4aHboUw" y="15"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_F0yitZCUEeueMsP4aHboUw" type="InstanceSpecification_SlotCompartment">
<children xmi:type="notation:Shape" xmi:id="_nItacJCUEeueMsP4aHboUw" type="Slot_SlotLabel">
<element xmi:type="uml:Slot" href="InstanceWithInstanceValueSlot.uml#_nIafgJCUEeueMsP4aHboUw"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_nItacZCUEeueMsP4aHboUw"/>
</children>
<styles xmi:type="notation:TitleStyle" xmi:id="_F0yitpCUEeueMsP4aHboUw"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_F0yit5CUEeueMsP4aHboUw"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_F0yiuJCUEeueMsP4aHboUw"/>
<element xmi:type="uml:InstanceSpecification" href="InstanceWithInstanceValueSlot.uml#_F0oxsJCUEeueMsP4aHboUw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_F0yiuZCUEeueMsP4aHboUw"/>
</children>
<element xmi:type="uml:InstanceSpecification" href="InstanceWithInstanceValueSlot.uml#_F0oxsJCUEeueMsP4aHboUw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_F0yisZCUEeueMsP4aHboUw" x="700" y="100" width="361" height="121"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_h4s5YZCUEeueMsP4aHboUw" type="InstanceSpecification_Shape">
<children xmi:type="notation:DecorationNode" xmi:id="_h4s5Y5CUEeueMsP4aHboUw" type="InstanceSpecification_NameLabel">
<element xmi:type="uml:InstanceSpecification" href="InstanceWithInstanceValueSlot.uml#_h4s5YJCUEeueMsP4aHboUw"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_h4s5ZJCUEeueMsP4aHboUw" type="InstanceSpecification_FloatingNameLabel">
<element xmi:type="uml:InstanceSpecification" href="InstanceWithInstanceValueSlot.uml#_h4s5YJCUEeueMsP4aHboUw"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_h4s5ZZCUEeueMsP4aHboUw" y="15"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_h4s5ZpCUEeueMsP4aHboUw" type="InstanceSpecification_SlotCompartment">
<children xmi:type="notation:Shape" xmi:id="_7osssJCUEeueMsP4aHboUw" type="Slot_SlotLabel">
<element xmi:type="uml:Slot" href="InstanceWithInstanceValueSlot.uml#_7oZxwJCUEeueMsP4aHboUw"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_7osssZCUEeueMsP4aHboUw"/>
</children>
<styles xmi:type="notation:TitleStyle" xmi:id="_h4s5Z5CUEeueMsP4aHboUw"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_h4s5aJCUEeueMsP4aHboUw"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_h4s5aZCUEeueMsP4aHboUw"/>
<element xmi:type="uml:InstanceSpecification" href="InstanceWithInstanceValueSlot.uml#_h4s5YJCUEeueMsP4aHboUw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4s5apCUEeueMsP4aHboUw"/>
</children>
<element xmi:type="uml:InstanceSpecification" href="InstanceWithInstanceValueSlot.uml#_h4s5YJCUEeueMsP4aHboUw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_h4s5YpCUEeueMsP4aHboUw" x="700" y="260" width="273"/>
</children>
<styles xmi:type="notation:StringValueStyle" xmi:id="_n9rskcdPEeqBwPQ5-6UCwg" name="diagram_compatibility_version" stringValue="1.4.0"/>
<styles xmi:type="notation:DiagramStyle" xmi:id="_n9rsksdPEeqBwPQ5-6UCwg"/>
<styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_n9rsk8dPEeqBwPQ5-6UCwg" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
<owner xmi:type="uml:Model" href="InstanceWithInstanceValueSlot.uml#_n7J9AMdPEeqBwPQ5-6UCwg"/>
</styles>
<element xmi:type="uml:Model" href="InstanceWithInstanceValueSlot.uml#_n7J9AMdPEeqBwPQ5-6UCwg"/>
</notation:Diagram>
24 changes: 24 additions & 0 deletions Uml2OpcuaTransformationTests/InstanceWithInstanceValueSlot.uml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_n7J9AMdPEeqBwPQ5-6UCwg" name="InstanceWithInstanceValueSlot">
<packageImport xmi:type="uml:PackageImport" xmi:id="_oCcQwMdPEeqBwPQ5-6UCwg">
<importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
</packageImport>
<packagedElement xmi:type="uml:Class" xmi:id="_punesMdPEeqBwPQ5-6UCwg" name="Robot">
<ownedAttribute xmi:type="uml:Property" xmi:id="_Kx7GwDVdEeuvtL-cjTXdxg" name="RobotController" type="_JZZNkDVdEeuvtL-cjTXdxg"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_JZZNkDVdEeuvtL-cjTXdxg" name="Controller">
<ownedAttribute xmi:type="uml:Property" xmi:id="_Oh7NoDVdEeuvtL-cjTXdxg" name="Version">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_F0oxsJCUEeueMsP4aHboUw" name="MyRobotInstance" classifier="_punesMdPEeqBwPQ5-6UCwg">
<slot xmi:type="uml:Slot" xmi:id="_nIafgJCUEeueMsP4aHboUw" definingFeature="_Kx7GwDVdEeuvtL-cjTXdxg">
<value xmi:type="uml:InstanceValue" xmi:id="_5HfUMJCUEeueMsP4aHboUw" instance="_h4s5YJCUEeueMsP4aHboUw"/>
</slot>
</packagedElement>
<packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_h4s5YJCUEeueMsP4aHboUw" name="MyControllerInstance" classifier="_JZZNkDVdEeuvtL-cjTXdxg">
<slot xmi:type="uml:Slot" xmi:id="_7oZxwJCUEeueMsP4aHboUw" definingFeature="_Oh7NoDVdEeuvtL-cjTXdxg">
<value xmi:type="uml:LiteralString" xmi:id="_AsNp4JCVEeueMsP4aHboUw" value="#006002"/>
</slot>
</packagedElement>
</uml:Model>
83 changes: 83 additions & 0 deletions Uml2OpcuaTransformationTests/InstanceWithInstanceValueSlot.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<UANodeSet xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd" xmlns:types="http://opcfoundation.org/UA/2008/02/Types.xsd">
<NamespaceUris>
<Uri>InstanceWithInstanceValueSlot</Uri>
</NamespaceUris>
<Aliases>
<Alias Alias="BaseObjectType">i=58</Alias>
<Alias Alias="HasTypeDefinition">i=40</Alias>
<Alias Alias="ObjectsFolder">i=85</Alias>
<Alias Alias="HasComponent">i=47</Alias>
<Alias Alias="String">i=12</Alias>
<Alias Alias="Organizes">i=35</Alias>
<Alias Alias="HasModellingRule">i=37</Alias>
<Alias Alias="HasSubtype">i=45</Alias>
<Alias Alias="ModellingRule_Mandatory">i=78</Alias>
<Alias Alias="BaseDataVariableType">i=63</Alias>
</Aliases>
<UAVariable BrowseName="Version" NodeId="ns=1;i=1003" ParentNodeId="ns=1;i=1001" DataType="String">
<DisplayName>Version</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">BaseDataVariableType</Reference>
<Reference ReferenceType="HasModellingRule">ModellingRule_Mandatory</Reference>
<Reference IsForward="false" ReferenceType="HasComponent">ns=1;i=1001</Reference>
</References>
</UAVariable>
<UAObject BrowseName="RobotController" NodeId="ns=1;i=1001" ParentNodeId="ns=1;i=1000">
<DisplayName>RobotController</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1002</Reference>
<Reference IsForward="false" ReferenceType="HasComponent">ns=1;i=1000</Reference>
<Reference ReferenceType="HasModellingRule">ModellingRule_Mandatory</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1003</Reference>
</References>
</UAObject>
<UAVariable BrowseName="Version" NodeId="ns=1;i=1004" ParentNodeId="ns=1;i=1002" DataType="String">
<DisplayName>Version</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">BaseDataVariableType</Reference>
<Reference ReferenceType="HasModellingRule">ModellingRule_Mandatory</Reference>
<Reference IsForward="false" ReferenceType="HasComponent">ns=1;i=1002</Reference>
</References>
</UAVariable>
<UAObjectType BrowseName="ControllerType" NodeId="ns=1;i=1002">
<DisplayName>ControllerType</DisplayName>
<References>
<Reference IsForward="false" ReferenceType="HasSubtype">BaseObjectType</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1004</Reference>
</References>
</UAObjectType>
<UAObjectType BrowseName="RobotType" NodeId="ns=1;i=1000">
<DisplayName>RobotType</DisplayName>
<References>
<Reference IsForward="false" ReferenceType="HasSubtype">BaseObjectType</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1001</Reference>
</References>
</UAObjectType>
<UAVariable BrowseName="Version" NodeId="ns=1;i=1006" ParentNodeId="ns=1;i=1005" DataType="String">
<DisplayName>Version</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">BaseDataVariableType</Reference>
<Reference ReferenceType="HasModellingRule">ModellingRule_Mandatory</Reference>
<Reference IsForward="false" ReferenceType="HasComponent">ns=1;i=1005</Reference>
</References>
<Value>
<types:String>#006002</types:String>
</Value>
</UAVariable>
<UAObject BrowseName="MyControllerInstance" NodeId="ns=1;i=1005">
<DisplayName>MyControllerInstance</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1002</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1006</Reference>
</References>
</UAObject>
<UAObject BrowseName="MyRobotInstance" NodeId="ns=1;i=1007">
<DisplayName>MyRobotInstance</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1000</Reference>
<Reference IsForward="false" ReferenceType="Organizes">ObjectsFolder</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1005</Reference>
</References>
</UAObject>
</UANodeSet>
Loading

0 comments on commit 93f45c4

Please sign in to comment.