public void CalculateNodeReferencesValidatorIsNullTest() { Mock <IAddressSpaceBuildContext> _addressSpaceMock = new Mock <IAddressSpaceBuildContext>(); Mock <INodeFactory> _mockNodeFactory = new Mock <INodeFactory>(); IUANodeBase _first = new UANodeContext(NodeId.Parse("ns=1;i=11"), _addressSpaceMock.Object); _first.CalculateNodeReferences(_mockNodeFactory.Object, null); }
public void CalculateNodeReferencesNullFactoryTest() { Mock <IAddressSpaceBuildContext> _addressSpaceMock = new Mock <IAddressSpaceBuildContext>(); Mock <IValidator> _validatorMoc = new Mock <IValidator>(); IUANodeBase _first = new UANodeContext(NodeId.Parse("ns=1;i=11"), _addressSpaceMock.Object); _first.CalculateNodeReferences(null, _validatorMoc.Object); }
public void CalculateNodeReferencesNullUANodeTest() { Mock <IAddressSpaceBuildContext> _addressSpaceMock = new Mock <IAddressSpaceBuildContext>(); _addressSpaceMock.Setup(x => x.GetMyReferences(It.IsAny <IUANodeBase>())).Returns(new List <UAReferenceContext>()); Mock <INodeFactory> _mockNodeFactory = new Mock <INodeFactory>(); Mock <IValidator> _validatorMoc = new Mock <IValidator>(); _validatorMoc.Setup(x => x.ValidateExportNode(It.IsAny <IUANodeBase>(), _mockNodeFactory.Object, It.IsAny <UAReferenceContext>())); IUANodeBase _node = new UANodeContext(NodeId.Parse("ns=1;i=11"), _addressSpaceMock.Object); _node.CalculateNodeReferences(_mockNodeFactory.Object, _validatorMoc.Object); _addressSpaceMock.Verify(x => x.GetMyReferences(It.IsAny <IUANodeBase>()), Times.Once); _validatorMoc.Verify(x => x.ValidateExportNode(It.IsAny <IUANodeBase>(), _mockNodeFactory.Object, It.IsAny <UAReferenceContext>()), Times.Never); }
private static FactoryType CreateNode <FactoryType, NodeSetType> ( Func <FactoryType> createNode, UANodeContext nodeContext, Action <FactoryType, NodeSetType> updateNode, Action <FactoryType, NodeSetType, UANodeContext, Action <TraceMessage> > updateBase, Action <TraceMessage> traceEvent ) where FactoryType : INodeFactory where NodeSetType : UANode { FactoryType _nodeFactory = createNode(); nodeContext.CalculateNodeReferences(_nodeFactory, traceEvent); NodeSetType _nodeSet = (NodeSetType)nodeContext.UANode; XmlQualifiedName _browseName = nodeContext.ExportNodeBrowseName(); string _symbolicName; if (String.IsNullOrEmpty(_nodeSet.SymbolicName)) { _symbolicName = _browseName.Name.ValidateIdentifier(traceEvent); } else { _symbolicName = _nodeSet.SymbolicName.ValidateIdentifier(traceEvent); } _nodeFactory.BrowseName = _browseName.Name.ExportString(_symbolicName); _nodeSet.Description.ExportLocalizedTextArray(_nodeFactory.AddDescription); _nodeSet.DisplayName.Truncate(512, traceEvent).ExportLocalizedTextArray(_nodeFactory.AddDisplayName); _nodeFactory.SymbolicName = new XmlQualifiedName(_symbolicName, _browseName.Namespace); Action <UInt32, string> _doReport = (x, y) => { traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.WrongWriteMaskValue, String.Format("The current value is {0:x} of the node type {1}.", x, y))); }; _nodeFactory.WriteAccess = _nodeSet is UAVariable?_nodeSet.WriteMask.Validate(0x200000, x => _doReport(x, _nodeSet.GetType().Name)) : _nodeSet.WriteMask.Validate(0x400000, x => _doReport(x, _nodeSet.GetType().Name)); updateBase(_nodeFactory, _nodeSet, nodeContext, traceEvent); updateNode(_nodeFactory, _nodeSet); return(_nodeFactory); }