示例#1
0
        public void ModelDesignTest()
        {
            Opc.Ua.ModelCompiler.ModelDesign _node = new Opc.Ua.ModelCompiler.ModelDesign()
            {
                AnyAttr                        = null,
                DefaultLocale                  = null,
                Items                          = null,
                Namespaces                     = new Opc.Ua.ModelCompiler.Namespace[] { },
                TargetNamespace                = "TargetNamespace",
                TargetPublicationDate          = DateTime.Today,
                TargetPublicationDateSpecified = false,
                TargetVersion                  = "TargetVersion",
                TargetXmlNamespace             = "TargetXmlNamespace"
            };
            ModelDesign _model = new ModelDesign(_node);

            Assert.IsNull(_model.AnyAttr);
            Assert.IsNull(_model.DefaultLocale);
            Assert.IsNull(_model.Parent);
            Assert.AreEqual <string>("TargetNamespace", _model.TargetNamespace);
            Assert.IsFalse(_model.TargetPublicationDate.HasValue);
            Assert.AreEqual <string>("TargetVersion", _model.TargetVersion);
            Assert.AreEqual <string>("TargetXmlNamespace", _model.TargetXmlNamespace);
            Opc.Ua.ModelCompiler.ModelDesign _nodeExported = _model.Update();
            Assert.IsNotNull(_nodeExported);
            Assert.IsNull(_nodeExported.AnyAttr);
            Assert.IsNull(_nodeExported.DefaultLocale);
            Assert.IsNull(_nodeExported.Items);
            Assert.IsNull(_nodeExported.Namespaces);
            Assert.AreEqual <string>("TargetNamespace", _nodeExported.TargetNamespace);
            Assert.IsFalse(_nodeExported.TargetPublicationDateSpecified);
            Assert.AreEqual <string>("TargetVersion", _nodeExported.TargetVersion);
            Assert.AreEqual <string>("TargetXmlNamespace", _nodeExported.TargetXmlNamespace);
        }
示例#2
0
        public void WrongFileNFormatTestMethod()
        {
            FileInfo _testDataFileInfo = new FileInfo(@"Models\ReferenceTest\ReferenceTest.NodeSet.xml");

            Assert.IsTrue(_testDataFileInfo.Exists);
            List <TraceMessage> _trace     = new List <TraceMessage>();
            int         _diagnosticCounter = 0;
            ModelDesign _actual            = NodeSet.AddressSpaceContextService.CreateInstance(_testDataFileInfo, z => TraceDiagnostic(z, _trace, ref _diagnosticCounter));
        }
示例#3
0
        public void FileNotFoundTestMethod()
        {
            FileInfo _testDataFileInfo = new FileInfo(@"sajlajsjljjjjk.sasa.sasa.sasa");

            Assert.IsFalse(_testDataFileInfo.Exists);
            List <TraceMessage> _trace     = new List <TraceMessage>();
            int         _diagnosticCounter = 0;
            ModelDesign _actual            = ImportUANodeSet.Import(_testDataFileInfo, z => TraceDiagnostic(z, _trace, ref _diagnosticCounter));
        }
示例#4
0
        public void FileNotFoundTestMethod()
        {
            FileInfo _testDataFileInfo = new FileInfo(@"sajlajsjljjjjk.sasa.sasa.sasa");

            Assert.IsFalse(_testDataFileInfo.Exists);
            List <TraceMessage> _trace     = new List <TraceMessage>();
            int         _diagnosticCounter = 0;
            ModelDesign _actual            = NodeSet.AddressSpaceContextService.CreateInstance(_testDataFileInfo, z => TraceDiagnostic(z, _trace, ref _diagnosticCounter));
        }
示例#5
0
        public void UAReferenceTestMethod()
        {
            FileInfo _testDataFileInfo = new FileInfo(@"Models\ReferenceTest\ReferenceTest.NodeSet2.xml");

            Assert.IsTrue(_testDataFileInfo.Exists);
            ModelDesign         _refData   = XmlFile.ReadXmlFile <ModelDesign>(@"Models\ReferenceTest.xml");
            List <TraceMessage> _trace     = new List <TraceMessage>();
            int         _diagnosticCounter = 0;
            ModelDesign _actual            = NodeSet.AddressSpaceContextService.CreateInstance(_testDataFileInfo, z => TraceDiagnostic(z, _trace, ref _diagnosticCounter));

            Assert.AreEqual <int>(0, _trace.Where <TraceMessage>(x => x.BuildError.Focus != Focus.Diagnostic).Count <TraceMessage>());
            Compare(_refData, _actual);
            Assert.IsTrue(_refData.Items[0] is ReferenceTypeDesign);
            Compare((ReferenceTypeDesign)_refData.Items[0], (ReferenceTypeDesign)_actual.Items[0]);
        }
示例#6
0
        public void UAReferenceTestMethod()
        {
            FileInfo _testDataFileInfo = new FileInfo(@"Models\ReferenceTest\ReferenceTest.NodeSet2.xml");

            Assert.IsTrue(_testDataFileInfo.Exists);
            ModelDesign         _refData   = XmlFile.ReadXmlFile <ModelDesign>(@"Models\ReferenceTest.xml");
            List <TraceMessage> _trace     = new List <TraceMessage>();
            int         _diagnosticCounter = 0;
            ModelDesign _actual            = ImportUANodeSet.Import(_testDataFileInfo, z => TraceDiagnostic(z, _trace, ref _diagnosticCounter));

            Assert.AreEqual <int>(0, _trace.Where <TraceMessage>(x => x.BuildError.Focus != Focus.Diagnostic).Count <TraceMessage>());
            Assert.Inconclusive("UAOOI.SemanticData.UANodeSetValidation 5.1.0 is available #120");
            Assert.IsNotNull(_actual);
            //Compare(_refData, _actual);
            //Assert.IsTrue(_refData.Items[0] is ReferenceTypeDesign);
            //Compare((ReferenceTypeDesign)_refData.Items[0], (ReferenceTypeDesign)_actual.Items[0]);
        }
        public void NamespaceTest()
        {
            List <TraceMessage> _traceBuffer = new List <TraceMessage>();
            ModelFactory        _instance    = new ModelFactory(_message => _traceBuffer.Add(_message));

            ((IModelFactory)_instance).CreateNamespace("NameSpace1", String.Empty, String.Empty);
            ((IModelFactory)_instance).CreateNamespace("NameSpace2", String.Empty, String.Empty);
            ModelDesign _createdModel = _instance.Export();

            Assert.IsNotNull(_createdModel);
            Assert.IsNotNull(_createdModel.Items);
            Assert.IsNull(_createdModel.AnyAttr);
            Assert.AreEqual <int>(0, _createdModel.Items.Length);
            Assert.AreEqual <int>(2, _createdModel.Namespaces.Length);
            Assert.AreEqual <string>("NameSpace2", _createdModel.TargetNamespace);
            Assert.AreEqual <DateTime>(DateTime.Now.Date, _createdModel.TargetPublicationDate.Date);
            Assert.IsTrue(_createdModel.TargetPublicationDateSpecified);
            Assert.AreEqual <int>(0, _traceBuffer.Count);
        }
        public void UAObjectTypeTestMethod()
        {
            FileInfo _testDataFileInfo = new FileInfo(@"Models\ObjectTypeTest\ObjectTypeTest.NodeSet2.xml");

            Assert.IsTrue(_testDataFileInfo.Exists);
            ModelDesign         _expected  = XmlFile.ReadXmlFile <ModelDesign>(@"Models\ObjectTypeTest.xml");
            List <TraceMessage> _trace     = new List <TraceMessage>();
            int         _diagnosticCounter = 0;
            ModelDesign _actual            = AddressSpaceContextService.CreateInstance(_testDataFileInfo, z => TraceDiagnostic(z, _trace, ref _diagnosticCounter));

            Assert.AreEqual <int>(0, _trace.Where <TraceMessage>(x => x.BuildError.Focus != Focus.Diagnostic).Count <TraceMessage>());
            Compare(_expected, _actual);
            Assert.AreEqual <int>(4, _expected.Items.Length);
            Assert.AreEqual <int>(4, _actual.Items.Length);
            Assert.IsTrue(_expected.Items[0] is ObjectTypeDesign);
            Compare((ObjectTypeDesign)_expected.Items[0], (ObjectTypeDesign)_actual.Items[2]);
            Compare((ReferenceTypeDesign)_expected.Items[1], (ReferenceTypeDesign)_actual.Items[3]);
            Compare((MethodDesign)_expected.Items[2], (MethodDesign)_actual.Items[0]);
            Compare((MethodDesign)_expected.Items[3], (MethodDesign)_actual.Items[1]);
        }
        public void DefaultValuesTest()
        {
            ModelDesign _default = OpcUaModelCompilerModelDesigner.GetDefault();

            Assert.IsNotNull(_default);
            Assert.IsNull(_default.AnyAttr);
            Assert.IsFalse(string.IsNullOrEmpty(_default.DefaultLocale));
            Assert.AreEqual <string>("en", _default.DefaultLocale);
            Assert.IsNull(_default.Items);
            Assert.IsNotNull(_default.Namespaces);
            Assert.AreEqual <int>(2, _default.Namespaces.Length);
            Assert.IsFalse(string.IsNullOrEmpty(_default.TargetNamespace));
            Assert.AreEqual <string>("http://cas.eu/UA/CommServer/", _default.TargetNamespace);
            Assert.IsFalse(_default.TargetPublicationDateSpecified);
            Assert.IsTrue(string.IsNullOrEmpty(_default.TargetVersion));
            Assert.IsNull(_default.TargetXmlNamespace);
            Assert.AreEqual <string>("OpcUa", _default.Namespaces[1].Name);
            Assert.AreEqual <string>("Opc.Ua", _default.Namespaces[1].Prefix);
            Assert.AreEqual <string>(@"http://opcfoundation.org/UA/", _default.Namespaces[1].Value);
            Assert.AreEqual <string>(@"http://opcfoundation.org/UA/2008/02/Types.xsd", _default.Namespaces[1].XmlNamespace);
        }
示例#10
0
        public void SaveNewTest()
        {
            //TODO Creating new project the existing one should not be overridden #174
            string _solutionPath = Path.Combine(Directory.GetCurrentDirectory(), "TestData");
            Mock <ISolutionConfigurationManagement> _solutionMock = new Mock <ISolutionConfigurationManagement>();

            _solutionMock.SetupGet(x => x.DefaultDirectory).Returns(_solutionPath);
            Mock <IFileDialog>             _IFileDialogMock = new Mock <IFileDialog>();
            Mock <IGraphicalUserInterface> _guiMock         = new Mock <IGraphicalUserInterface>();

            _guiMock.SetupGet(z => z.OpenFileDialogFunc).Returns(() => _IFileDialogMock.Object);
            _guiMock.SetupSet(z => z.UseWaitCursor = It.IsAny <bool>());
            IProjectConfigurationManagement _newItem = ProjectConfigurationManagement.CreateNew(_solutionMock.Object, _guiMock.Object, "projectName");

            Assert.IsTrue(((ProjectConfigurationManagement)_newItem).ChangesArePresent);
            Assert.IsNotNull(_newItem.ModelDesign);
            Assert.AreEqual <string>("projectName", _newItem.Name);
            Assert.IsNotNull(_newItem.UAModelDesignerProject);
            _solutionMock.Verify(x => x.DefaultDirectory, Times.AtLeastOnce);
            _solutionMock.Verify(x => x.DefaultFileName, Times.Never);
            ModelDesign _modelDesign = new ModelDesign();

            //test save
            _newItem.Save(_modelDesign);
            _solutionMock.Verify(x => x.DefaultDirectory, Times.AtLeastOnce);
            _solutionMock.Verify(x => x.DefaultFileName, Times.Never);
            _guiMock.VerifySet(x => x.UseWaitCursor = true, Times.Once);
            _guiMock.VerifySet(x => x.UseWaitCursor = false, Times.Once);
            Assert.IsTrue(File.Exists(Path.Combine(_solutionPath, "projectName.xml")));
            //_IFileDialogMock
            _IFileDialogMock.Verify(x => x.InitialDirectory, Times.Never);
            _IFileDialogMock.Verify(x => x.FileName, Times.Never);
            _IFileDialogMock.Verify(x => x.Filter, Times.Never);
            _IFileDialogMock.Verify(x => x.InitialDirectory, Times.Never);
            _IFileDialogMock.Verify(x => x.Title, Times.Never);
            _IFileDialogMock.Verify(x => x.ShowDialog(), Times.Never);
            _IFileDialogMock.Verify(x => x.Dispose(), Times.Never);
        }
示例#11
0
        public void ConstructorTest()
        {
            ModelDesign _newInstance = new ModelDesign();

            Assert.IsNull(_newInstance.AnyAttr);
        }
示例#12
0
 private static void Compare(ModelDesign expected, ModelDesign actual)
 {
     Assert.AreEqual <int>(expected.Items.Length, actual.Items.Length);
     Assert.AreEqual <string>(expected.TargetNamespace, actual.TargetNamespace);
 }
 public void EEmptyModelTest()
 {
     ModelFactory _instance     = new ModelFactory(_message => { });
     ModelDesign  _createdModel = _instance.Export();
 }