Beispiel #1
0
        /// <summary>
        /// Get the clone from the types derived from this one.
        /// </summary>
        /// <returns>An instance of <see cref="UANode" />.</returns>
        protected override UANode ParentClone()
        {
            UADataType _ret = new UADataType()
            {
                Definition = this.Definition,
                Purpose    = this.Purpose
            };

            base.CloneUAType(_ret);
            return(_ret);
        }
Beispiel #2
0
        public void NodeClassEnumTest()
        {
            UANode _toTest = new UADataType();

            Assert.AreEqual <NodeClassEnum>(NodeClassEnum.UADataType, _toTest.NodeClassEnum);
            _toTest = new UAObject();
            Assert.AreEqual <NodeClassEnum>(NodeClassEnum.UAObject, _toTest.NodeClassEnum);
            _toTest = new UAObjectType();
            Assert.AreEqual <NodeClassEnum>(NodeClassEnum.UAObjectType, _toTest.NodeClassEnum);
            _toTest = new UAReferenceType();
            Assert.AreEqual <NodeClassEnum>(NodeClassEnum.UAReferenceType, _toTest.NodeClassEnum);
            _toTest = new UAVariable();
            Assert.AreEqual <NodeClassEnum>(NodeClassEnum.UAVariable, _toTest.NodeClassEnum);
            _toTest = new UAVariableType();
            Assert.AreEqual <NodeClassEnum>(NodeClassEnum.UAVariableType, _toTest.NodeClassEnum);
            _toTest = new UAView();
            Assert.AreEqual <NodeClassEnum>(NodeClassEnum.UAView, _toTest.NodeClassEnum);
            _toTest = new UAMethod();
            Assert.AreEqual <NodeClassEnum>(NodeClassEnum.UAMethod, _toTest.NodeClassEnum);
        }
Beispiel #3
0
        public void RecalculateNodeIdsUADataTypeTest()
        {
            UADataType _enumeration = new UADataType()
            {
                NodeId      = "ns=1;i=11",
                BrowseName  = "1:EnumerationDataType",
                DisplayName = new LocalizedText[] { new LocalizedText()
                                                    {
                                                        Value = "EnumerationDataType"
                                                    } },
                References = new Reference[]
                {
                    new Reference()
                    {
                        ReferenceType = ReferenceTypeIds.HasProperty.ToString(), Value = "ns=1;i=12", IsForward = true
                    },
                    new Reference()
                    {
                        ReferenceType = ReferenceTypeIds.HasSubtype.ToString(), Value = "ns=1;i=9", IsForward = false
                    }
                },
                Definition = new DataTypeDefinition()
                {
                    Name  = "EnumerationDataType",
                    Field = new DataTypeField[]
                    {
                        new DataTypeField()
                        {
                            Name = "Field3", Value = 1
                        },
                        new DataTypeField()
                        {
                            Name = "Field4", DataType = "ns=1;i=24"
                        }
                    }
                }
            };
            Mock <IUAModelContext> _uAModelContext = new Mock <IUAModelContext>();

            _uAModelContext.Setup <string>(x => x.ImportNodeId(It.IsAny <string>())).Returns <string>
                (x =>
            {
                NodeId nodeId = NodeId.Parse(x);
                if (nodeId.NamespaceIndex == 1)
                {
                    nodeId.SetNamespaceIndex(10);
                }
                return(nodeId.ToString());
            });
            _uAModelContext.Setup <string>(x => x.ImportQualifiedName(It.IsAny <string>())).Returns <string>
                (x =>
            {
                QualifiedName nodeId = QualifiedName.Parse(x);
                if (nodeId.NamespaceIndex == 1)
                {
                    nodeId.NamespaceIndex = 10;
                }
                return(nodeId.ToString());
            });
            _enumeration.RecalculateNodeIds(_uAModelContext.Object);
            Assert.AreEqual <string>("10:EnumerationDataType", _enumeration.BrowseName);
            Assert.AreEqual <int>(10, NodeId.Parse(_enumeration.NodeId).NamespaceIndex);
            Assert.AreEqual <int>(10, NodeId.Parse(_enumeration.References[0].Value).NamespaceIndex);
            Assert.AreEqual <int>(0, NodeId.Parse(_enumeration.References[0].ReferenceType).NamespaceIndex);
            Assert.AreEqual <int>(10, NodeId.Parse(_enumeration.References[1].Value).NamespaceIndex);
            Assert.AreEqual <int>(0, NodeId.Parse(_enumeration.References[1].ReferenceType).NamespaceIndex);
            Assert.AreEqual <string>("i=24", _enumeration.Definition.Field[0].DataType);
            Assert.AreEqual <string>("ns=10;i=24", _enumeration.Definition.Field[1].DataType);
        }