Exemplo n.º 1
0
        public void Setup()
        {
            this.session = new Mock <ISession>();
            this.thingDialogNavigationService = new Mock <IThingDialogNavigationService>();
            this.permissionService            = new Mock <IPermissionService>();
            this.cache = new ConcurrentDictionary <CacheKey, Lazy <Thing> >();

            this.sitedir  = new SiteDirectory(Guid.NewGuid(), this.cache, null);
            this.siteRdl  = new SiteReferenceDataLibrary(Guid.NewGuid(), this.cache, null);
            this.siteRdl2 = new SiteReferenceDataLibrary(Guid.NewGuid(), this.cache, null)
            {
                RequiredRdl = this.siteRdl
            };

            this.sitedir.SiteReferenceDataLibrary.Add(this.siteRdl);
            this.sitedir.SiteReferenceDataLibrary.Add(this.siteRdl2);

            this.cache.TryAdd(new CacheKey(this.sitedir.Iid, null), new Lazy <Thing>(() => this.sitedir));
            this.cache.TryAdd(new CacheKey(this.siteRdl.Iid, null), new Lazy <Thing>(() => this.siteRdl));
            this.cache.TryAdd(new CacheKey(this.siteRdl2.Iid, null), new Lazy <Thing>(() => this.siteRdl2));

            var dal = new Mock <IDal>();

            this.session.Setup(x => x.DalVersion).Returns(new Version(1, 1, 0));
            this.session.Setup(x => x.Dal).Returns(dal.Object);
            dal.Setup(x => x.MetaDataProvider).Returns(new MetaDataProvider());
        }
Exemplo n.º 2
0
        public void VerifyThatRdlShortnameIsUpdated()
        {
            var vm = new GlossaryBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null);

            var sRdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri);

            sRdl.Container = this.siteDirectory;

            var cat = new Glossary(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "cat1", ShortName = "1", Container = sRdl
            };
            var cat2 = new Glossary(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "cat2", ShortName = "2", Container = sRdl
            };

            CDPMessageBus.Current.SendObjectChangeEvent(cat, EventKind.Added);
            CDPMessageBus.Current.SendObjectChangeEvent(cat2, EventKind.Added);

            var rev = typeof(Thing).GetProperty("RevisionNumber");

            rev.SetValue(sRdl, 3);
            sRdl.ShortName = "test";

            CDPMessageBus.Current.SendObjectChangeEvent(sRdl, EventKind.Updated);
            Assert.IsTrue(vm.Glossaries.Count(x => x.ContainerRdlShortName == "test") == 2);
        }
Exemplo n.º 3
0
        public void VerifyThatRequiredRdlRdlsReturnsExpectedResult()
        {
            var genericRdl  = new SiteReferenceDataLibrary();
            var familyofRdl = new SiteReferenceDataLibrary();

            familyofRdl.RequiredRdl = genericRdl;

            var modelrdl = new ModelReferenceDataLibrary();

            modelrdl.RequiredRdl = familyofRdl;

            var iteration        = new Iteration();
            var engineeringModel = new EngineeringModel();

            engineeringModel.Iteration.Add(iteration);

            var engineeringModelSetup = new EngineeringModelSetup();
            var iterationSetup        = new IterationSetup();

            engineeringModelSetup.RequiredRdl.Add(modelrdl);
            engineeringModelSetup.IterationSetup.Add(iterationSetup);

            iteration.IterationSetup = iterationSetup;

            var requiredRdls = iteration.RequiredRdls;

            CollectionAssert.Contains(requiredRdls, genericRdl);
            CollectionAssert.Contains(requiredRdls, familyofRdl);
            CollectionAssert.Contains(requiredRdls, modelrdl);

            Assert.AreEqual(3, requiredRdls.Count());
        }
Exemplo n.º 4
0
        public void VerifyThatWhenContainerRdlIsSetAndUnitIsSetPropertiesAreSet()
        {
            var rdlshortnamename = "rdl shortname";

            var rdl = new SiteReferenceDataLibrary(Guid.NewGuid(), null, this.uri)
            {
                ShortName = rdlshortnamename,
            };

            var simpleUnit = new SimpleUnit(Guid.NewGuid(), null, this.uri)
            {
                Name      = "simple unit name",
                ShortName = "simpleunitshortname"
            };

            rdl.Unit.Add(simpleUnit);

            var ratioscale = new RatioScale(Guid.NewGuid(), null, this.uri)
            {
                Name      = "ratio scale name",
                ShortName = "ratioscaleshortname"
            };

            ratioscale.Unit = simpleUnit;
            rdl.Scale.Add(ratioscale);

            var measurementScaleRowViewModel = new MeasurementScaleRowViewModel(ratioscale, this.session.Object, null);

            Assert.AreEqual(ratioscale.ShortName, measurementScaleRowViewModel.ShortName);
            Assert.AreEqual(ratioscale.Name, measurementScaleRowViewModel.Name);
            Assert.AreEqual(simpleUnit.ShortName, measurementScaleRowViewModel.MeasurementUnit);
            Assert.AreEqual(rdlshortnamename, measurementScaleRowViewModel.ContainerRdl);
        }
Exemplo n.º 5
0
        public void Setup()
        {
            this.siteReferenceDataLibraryDao  = new Mock <ISiteReferenceDataLibraryDao>();
            this.engineeringModelSetupDao     = new Mock <IEngineeringModelSetupDao>();
            this.modelReferenceDataLibraryDao = new Mock <IModelReferenceDataLibraryDao>();
            this.transactionManager           = new Mock <ICdp4TransactionManager>();

            this.transactionManager.Setup(x => x.IsFullAccessEnabled()).Returns(true);

            this.modelReferenceDataLibraryService = new ModelReferenceDataLibraryService
            {
                EngineeringModelSetupDao     = this.engineeringModelSetupDao.Object,
                SiteReferenceDataLibraryDao  = this.siteReferenceDataLibraryDao.Object,
                ModelReferenceDataLibraryDao = this.modelReferenceDataLibraryDao.Object,
                TransactionManager           = this.transactionManager.Object
            };

            this.siteReferenceDataLibrary1 = new SiteReferenceDataLibrary(Guid.NewGuid(), 0);
            this.siteReferenceDataLibrary2 = new SiteReferenceDataLibrary(Guid.NewGuid(), 0);
            this.modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), 0);

            this.iteration             = new Iteration(Guid.NewGuid(), 0);
            this.iterationSetup        = new IterationSetup(Guid.NewGuid(), 0);
            this.engineeringModelSetup = new EngineeringModelSetup(Guid.NewGuid(), 0);

            this.iteration.IterationSetup = this.iterationSetup.Iid;

            this.engineeringModelSetup.IterationSetup.Add(this.iterationSetup.Iid);
        }
Exemplo n.º 6
0
        public void Setup()
        {
            RxApp.MainThreadScheduler = Scheduler.CurrentThread;

            this.navigation        = new Mock <IThingDialogNavigationService>();
            this.permissionService = new Mock <IPermissionService>();
            this.session           = new Mock <ISession>();

            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);
            this.siteDir     = new SiteDirectory(Guid.NewGuid(), null, this.uri);
            this.siteRdl     = new SiteReferenceDataLibrary(Guid.NewGuid(), null, this.uri);
            this.derivedUnit = new DerivedUnit(Guid.NewGuid(), null, this.uri);
            this.factor      = new UnitFactor(Guid.NewGuid(), null, this.uri);
            this.derivedUnit.UnitFactor.Add(this.factor);
            this.unit = new SimpleUnit(Guid.NewGuid(), null, this.uri);
            this.siteRdl.Unit.Add(this.unit);
            this.factor.Unit = this.unit;

            this.siteDir.SiteReferenceDataLibrary.Add(this.siteRdl);
            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);
            this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(this.siteDir);
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(new HashSet <ReferenceDataLibrary>(this.siteDir.SiteReferenceDataLibrary));

            var transactionContext = TransactionContextResolver.ResolveContext(this.siteDir);

            this.transaction = new ThingTransaction(transactionContext, null);

            var dal = new Mock <IDal>();

            this.session.Setup(x => x.DalVersion).Returns(new Version(1, 1, 0));
            this.session.Setup(x => x.Dal).Returns(dal.Object);
            dal.Setup(x => x.MetaDataProvider).Returns(new MetaDataProvider());
        }
Exemplo n.º 7
0
        public void VerifyThatParametertypesFromExistingRdlsAreLoaded()
        {
            var siterefenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var pt1 = new TextParameterType(Guid.NewGuid(), null, null);
            var pt2 = new TextParameterType(Guid.NewGuid(), null, null);

            siterefenceDataLibrary.ParameterType.Add(pt1);
            siterefenceDataLibrary.ParameterType.Add(pt2);
            this.siteDirectory.SiteReferenceDataLibrary.Add(siterefenceDataLibrary);

            var engineeringModelSetup     = new EngineeringModelSetup(Guid.NewGuid(), null, null);
            var modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), null, null);
            var pt3 = new BooleanParameterType(Guid.NewGuid(), null, null);
            var pt4 = new BooleanParameterType(Guid.NewGuid(), null, null);

            modelReferenceDataLibrary.ParameterType.Add(pt3);
            modelReferenceDataLibrary.ParameterType.Add(pt4);
            engineeringModelSetup.RequiredRdl.Add(modelReferenceDataLibrary);
            this.siteDirectory.Model.Add(engineeringModelSetup);
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(
                new HashSet <ReferenceDataLibrary>(this.siteDirectory.SiteReferenceDataLibrary)
            {
                modelReferenceDataLibrary
            });

            var browser = new ParameterTypesBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null,
                                                             null, this.favoritesService.Object);

            Assert.AreEqual(4, browser.ParameterTypes.Count);
            Assert.IsNotNull(browser.ParameterTypes.First().Thing);

            browser.Dispose();
            Assert.IsNull(browser.ParameterTypes.First().Thing);
        }
Exemplo n.º 8
0
        public void Setup()
        {
            this.session   = new Mock <ISession>();
            this.uri       = new Uri("http://www.rheagroup.com");
            this.assembler = new Assembler(this.uri);

            this.permissionService = new Mock <IPermissionService>();
            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);
            this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);

            this.siteDir = new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "site directory"
            };
            this.person = new Person(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                GivenName = "John", Surname = "Doe"
            };

            var siteReferenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri);

            this.siteDir.SiteReferenceDataLibrary.Add(siteReferenceDataLibrary);

            this.session.Setup(x => x.ActivePerson).Returns(this.person);
            this.session.Setup(x => x.Assembler).Returns(this.assembler);

            this.RulesViewModel = new RulesBrowserViewModel(this.session.Object, this.siteDir, null, null, null, null);
        }
Exemplo n.º 9
0
        public void Setup()
        {
            RxApp.MainThreadScheduler = Scheduler.CurrentThread;

            this.navigation        = new Mock <IThingDialogNavigationService>();
            this.permissionService = new Mock <IPermissionService>();
            this.session           = new Mock <ISession>();

            this.siteDir = new SiteDirectory(Guid.NewGuid(), null, this.uri);
            this.siteRdl = new SiteReferenceDataLibrary(Guid.NewGuid(), null, this.uri);
            this.siteDir.SiteReferenceDataLibrary.Add(this.siteRdl);

            var transactionContext = TransactionContextResolver.ResolveContext(this.siteDir);

            this.transaction = new ThingTransaction(transactionContext, null);

            this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(this.siteDir);
            this.testEnumerationValueDefinition = new EnumerationValueDefinition(Guid.NewGuid(), null, null);

            var dal = new Mock <IDal>();

            this.session.Setup(x => x.DalVersion).Returns(new Version(1, 1, 0));
            this.session.Setup(x => x.Dal).Returns(dal.Object);
            dal.Setup(x => x.MetaDataProvider).Returns(new MetaDataProvider());

            this.viewModel = new EnumerationValueDefinitionDialogViewModel(this.testEnumerationValueDefinition, this.transaction, this.session.Object, true,
                                                                           ThingDialogKind.Create, this.navigation.Object, this.derivedUnit);
        }
        public void Verify_that_when_referenced_categories_are_not_in_chain_of_Rdl_results_are_returned()
        {
            var otherSiteReferenceDataLibrary = new SiteReferenceDataLibrary();
            var systemCategory = new Category {
                Iid = Guid.Parse("f6985d6b-9ad6-40a2-814b-c99dc6b39b2b"), ShortName = "SYS"
            };
            var elementCategory = new Category {
                Iid = Guid.Parse("e13cf5d0-473a-47d7-835a-83b237924483"), ShortName = "ELE"
            };

            otherSiteReferenceDataLibrary.DefinedCategory.Add(systemCategory);
            otherSiteReferenceDataLibrary.DefinedCategory.Add(elementCategory);

            this.decompositionRule.ContainingCategory = systemCategory;
            this.decompositionRule.ContainedCategory.Add(elementCategory);

            var results = this.decompositionRuleRuleChecker.CheckWhetherReferencedCategoryIsInChainOfRdls(this.decompositionRule);

            Assert.That(results.Count(), Is.EqualTo(2));

            var first = results.First();

            Assert.That(first.Id, Is.EqualTo("MA-0200"));
            Assert.That(first.Thing, Is.EqualTo(this.decompositionRule));
            Assert.That(first.Severity, Is.EqualTo(SeverityKind.Error));
            Assert.That(first.Description, Is.EqualTo("The ContainingCategory f6985d6b-9ad6-40a2-814b-c99dc6b39b2b:SYS of 93db34a8-251d-40aa-bd68-1e38574f585a:DECOMPRULE is not in the chain of Reference Data Libraries"));

            var last = results.Last();

            Assert.That(last.Id, Is.EqualTo("MA-0200"));
            Assert.That(last.Thing, Is.EqualTo(this.decompositionRule));
            Assert.That(last.Severity, Is.EqualTo(SeverityKind.Error));
            Assert.That(last.Description, Is.EqualTo("The ContainedCategory e13cf5d0-473a-47d7-835a-83b237924483:ELE of 93db34a8-251d-40aa-bd68-1e38574f585a:DECOMPRULE is not in the chain of Reference Data Libraries"));
        }
Exemplo n.º 11
0
        public void VerifyThatCategoriesFromExistingRdlsAreLoaded()
        {
            var siterefenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var rule1 = new BinaryRelationshipRule(Guid.NewGuid(), null, null);
            var rule2 = new MultiRelationshipRule(Guid.NewGuid(), null, null);

            siterefenceDataLibrary.Rule.Add(rule1);
            siterefenceDataLibrary.Rule.Add(rule2);
            this.siteDir.SiteReferenceDataLibrary.Add(siterefenceDataLibrary);

            var engineeringModelSetup     = new EngineeringModelSetup(Guid.NewGuid(), null, null);
            var modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), null, null);
            var rule3 = new BinaryRelationshipRule(Guid.NewGuid(), null, null);
            var rule4 = new MultiRelationshipRule(Guid.NewGuid(), null, null);

            modelReferenceDataLibrary.Rule.Add(rule3);
            modelReferenceDataLibrary.Rule.Add(rule4);
            engineeringModelSetup.RequiredRdl.Add(modelReferenceDataLibrary);
            this.siteDir.Model.Add(engineeringModelSetup);
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(new HashSet <ReferenceDataLibrary>(this.siteDir.SiteReferenceDataLibrary)
            {
                modelReferenceDataLibrary
            });

            var browser = new RulesBrowserViewModel(this.session.Object, this.siteDir, null, null, null, null);

            Assert.AreEqual(4, browser.Rules.Count);
        }
        public void Verify_that_when_referenced_category_is_not_in_chain_of_rdl_result_is_returned()
        {
            var siteReferenceDataLibrary = new SiteReferenceDataLibrary();
            var category = new Category {
                Iid = Guid.Parse("6766cbf6-0bea-4e9d-8c86-91c5b71ae1bd"), ShortName = "CAT"
            };

            siteReferenceDataLibrary.DefinedCategory.Add(category);

            var otherSiteReferenceDataLibrary = new SiteReferenceDataLibrary();
            var superCategory = new Category {
                Iid = Guid.Parse("c24a3bd3-99a8-4b18-a2f0-a7eae3f02f76"), ShortName = "SUPERCAT"
            };

            otherSiteReferenceDataLibrary.DefinedCategory.Add(superCategory);

            category.SuperCategory.Add(superCategory);

            var result = this.categoryRuleChecker.CheckWhetherReferencedCategoryIsInChainOfRdls(category).First();

            Assert.That(result.Id, Is.EqualTo("MA-0200"));
            Assert.That(result.Thing, Is.EqualTo(category));
            Assert.That(result.Description, Is.EqualTo("The superCategory c24a3bd3-99a8-4b18-a2f0-a7eae3f02f76:SUPERCAT of 6766cbf6-0bea-4e9d-8c86-91c5b71ae1bd:CAT is not in the chain of Reference Data Libraries"));
            Assert.That(result.Severity, Is.EqualTo(SeverityKind.Error));
        }
Exemplo n.º 13
0
        public void VerifyThatIfRuleIsNotInChainOfRdlOfRuleVerificationListDraggedDropEffectIsNone()
        {
            var ruleVerificationList = new RuleVerificationList(Guid.NewGuid(), this.cache, this.uri)
            {
                Owner = this.domain
            };

            this.iteration.RuleVerificationList.Add(ruleVerificationList);
            var listRowViewModel = new RuleVerificationListRowViewModel(ruleVerificationList, this.session.Object, null);

            var binaryRelationshipRule = new BinaryRelationshipRule(Guid.NewGuid(), this.cache, this.uri);
            var siteRDL = new SiteReferenceDataLibrary(Guid.NewGuid(), this.cache, this.uri);

            siteRDL.Rule.Add(binaryRelationshipRule);
            this.sitedir.SiteReferenceDataLibrary.Add(siteRDL);

            var dropInfo = new Mock <IDropInfo>();

            dropInfo.Setup(x => x.Payload).Returns(binaryRelationshipRule);
            dropInfo.SetupProperty(x => x.Effects);

            listRowViewModel.DragOver(dropInfo.Object);

            Assert.AreEqual(DragDropEffects.None, dropInfo.Object.Effects);
        }
        public void Verify_that_when_Container_is_ReferenceDataLibrary_and_ReferenceSource_is_not_in_chain_of_Rdls_result_is_returned()
        {
            var otherSiteReferenceDataLibrary = new SiteReferenceDataLibrary();

            this.siteDirectory.SiteReferenceDataLibrary.Add(otherSiteReferenceDataLibrary);
            var referenceSource = new ReferenceSource {
                Iid = Guid.Parse("3c44c0e3-d2de-43f9-9636-8235984dc4bf"), ShortName = "SOURCE"
            };

            otherSiteReferenceDataLibrary.ReferenceSource.Add(referenceSource);

            var siteReferenceDataLibrary = new SiteReferenceDataLibrary();
            var category           = new Category();
            var categoryDefinition = new Definition();
            var categoryCitation   = new Citation();

            categoryCitation.Source = referenceSource;

            this.siteDirectory.SiteReferenceDataLibrary.Add(siteReferenceDataLibrary);
            siteReferenceDataLibrary.DefinedCategory.Add(category);
            category.Definition.Add(categoryDefinition);
            categoryDefinition.Citation.Add(categoryCitation);

            var result = this.citationRuleChecker.CheckWhetherReferencedReferenceSourceIsInChainOfRdls(categoryCitation).Single();

            Assert.That(result.Id, Is.EqualTo("MA-0260"));
            Assert.That(result.Description, Is.EqualTo("The referenced ReferenceSource 3c44c0e3-d2de-43f9-9636-8235984dc4bf:SOURCE of Citation.Source is not in the chain of Reference Data Libraries"));
            Assert.That(result.Severity, Is.EqualTo(SeverityKind.Error));
            Assert.That(result.Thing, Is.EqualTo(categoryCitation));
        }
Exemplo n.º 15
0
        public void VerifyThatWhenCategoryIsUpdateViewModelIsUpdate()
        {
            var name         = "name";
            var shortname    = "shortname";
            var containerRdl = "containerrdl";

            var category = new Category(Guid.NewGuid(), null, null)
            {
                ShortName = shortname, Name = name
            };
            var container = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null)
            {
                ShortName = "containerrdl"
            };

            container.DefinedCategory.Add(category);

            this.rowViewModel = new CategoryRowViewModel(category, this.session.Object, null);

            category.Name       = "updated name";
            category.ShortName  = "updated shortname";
            container.ShortName = "updated containerrdl";

            // workaround to modify a read-only field
            var type = category.GetType();

            type.GetProperty("RevisionNumber").SetValue(category, 50);
            CDPMessageBus.Current.SendObjectChangeEvent(category, EventKind.Updated);

            Assert.AreEqual("updated shortname", this.rowViewModel.ShortName);
            Assert.AreEqual("updated name", this.rowViewModel.Name);
            Assert.AreEqual("updated containerrdl", this.rowViewModel.ContainerRdl);
        }
Exemplo n.º 16
0
        public void VerifyThatExceptionIsThrownWhenNoContainerIsProvidedToIsContainedBy()
        {
            SiteDirectory sitedir = null;
            var           rdl     = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);

            Assert.Throws <ArgumentNullException>(() => rdl.IsContainedBy(sitedir));
        }
Exemplo n.º 17
0
        public void Setup()
        {
            RxApp.MainThreadScheduler = Scheduler.CurrentThread;
            this.cache = new ConcurrentDictionary <CacheKey, Lazy <Thing> >();
            this.thingDialogNavigationService = new Mock <IThingDialogNavigationService>();
            this.permissionService            = new Mock <IPermissionService>();
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);
            this.session = new Mock <ISession>();
            var person = new Person(Guid.NewGuid(), this.cache, null)
            {
                Container = this.siteDir
            };

            this.session.Setup(x => x.ActivePerson).Returns(person);

            this.siteDir = new SiteDirectory(Guid.NewGuid(), this.cache, null);
            this.siteDir.Person.Add(person);
            this.srdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.cache, null)
            {
                Name = "testRDL", ShortName = "test"
            };
            this.siteDir.SiteReferenceDataLibrary.Add(this.srdl);
            this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(this.siteDir);
            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(new HashSet <ReferenceDataLibrary>(this.siteDir.SiteReferenceDataLibrary));
            this.cache.TryAdd(new CacheKey(this.srdl.Iid, null), new Lazy <Thing>(() => this.srdl));

            var dal = new Mock <IDal>();

            this.session.Setup(x => x.DalVersion).Returns(new Version(1, 1, 0));
            this.session.Setup(x => x.Dal).Returns(dal.Object);
            dal.Setup(x => x.MetaDataProvider).Returns(new MetaDataProvider());
        }
Exemplo n.º 18
0
        public void VerifyThatGetContainerOfTypeWorks()
        {
            var sitedir = new SiteDirectory(Guid.NewGuid(), null, null);
            var siterdl = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var unit    = new DerivedUnit(Guid.NewGuid(), null, null);

            sitedir.SiteReferenceDataLibrary.Add(siterdl);
            siterdl.Unit.Add(unit);

            Assert.AreSame(siterdl, unit.GetContainerOfType(typeof(ReferenceDataLibrary)));
            Assert.AreSame(siterdl, unit.GetContainerOfType(typeof(SiteReferenceDataLibrary)));
            Assert.AreSame(siterdl, unit.GetContainerOfType(typeof(ModelReferenceDataLibrary)));
            Assert.AreSame(sitedir, unit.GetContainerOfType(typeof(SiteDirectory)));
            Assert.IsNull(unit.GetContainerOfType(typeof(Iteration)));

            Assert.AreSame(siterdl, unit.GetContainerOfType <SiteReferenceDataLibrary>());
            Assert.AreSame(sitedir, unit.GetContainerOfType <SiteDirectory>());
            Assert.IsNull(unit.GetContainerOfType <ModelReferenceDataLibrary>());
            Assert.AreSame(siterdl, unit.GetContainerOfType <ReferenceDataLibrary>());

            var requirementsgroup1 = new RequirementsGroup(Guid.NewGuid(), null, null);
            var requirementsgroup2 = new RequirementsGroup(Guid.NewGuid(), null, null);

            requirementsgroup1.Group.Add(requirementsgroup2);

            Assert.AreSame(requirementsgroup1, requirementsgroup2.GetContainerOfType <RequirementsGroup>());
            Assert.AreSame(requirementsgroup1, requirementsgroup2.GetContainerOfType(typeof(RequirementsGroup)));
        }
Exemplo n.º 19
0
        public void Setup()
        {
            RxApp.MainThreadScheduler = Scheduler.CurrentThread;

            this.permissionService = new Mock <IPermissionService>();
            this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);

            this.uri               = new Uri("http://www.rheagroup.com");
            this.serviceLocator    = new Mock <IServiceLocator>();
            this.navigationService = new Mock <IDialogNavigationService>();
            this.session           = new Mock <ISession>();

            ServiceLocator.SetLocatorProvider(() => this.serviceLocator.Object);
            this.serviceLocator.Setup(x => x.GetInstance <IDialogNavigationService>())
            .Returns(this.navigationService.Object);

            var siteRdl = new SiteReferenceDataLibrary();
            var siteDir = new SiteDirectory(Guid.NewGuid(), null, null);

            siteDir.SiteReferenceDataLibrary.Add(siteRdl);

            this.result = new SiteRdlSelectionDialogResult(true);
            this.navigationService.Setup(x => x.NavigateModal(It.IsAny <IDialogViewModel>())).Returns(this.result);

            this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(siteDir);

            this.serviceLocator.Setup(x => x.GetInstance <IPermissionService>()).Returns(this.permissionService.Object);

            this.srdl = new SiteReferenceDataLibrary(Guid.NewGuid(), null, this.uri);
        }
Exemplo n.º 20
0
        public void VerifyThatUnitPrefixFromExistingRdlsAreLoaded()
        {
            var siterefenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var unitPrefix1            = new UnitPrefix(Guid.NewGuid(), null, null);
            var unitPrefix2            = new UnitPrefix(Guid.NewGuid(), null, null);

            siterefenceDataLibrary.UnitPrefix.Add(unitPrefix1);
            siterefenceDataLibrary.UnitPrefix.Add(unitPrefix2);
            this.siteDirectory.SiteReferenceDataLibrary.Add(siterefenceDataLibrary);
            var engineeringModelSetup     = new EngineeringModelSetup(Guid.NewGuid(), null, null);
            var modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), null, null);
            var unitPrefix3 = new UnitPrefix(Guid.NewGuid(), null, null);
            var unitPrefix4 = new UnitPrefix(Guid.NewGuid(), null, null);

            modelReferenceDataLibrary.UnitPrefix.Add(unitPrefix3);
            modelReferenceDataLibrary.UnitPrefix.Add(unitPrefix4);
            engineeringModelSetup.RequiredRdl.Add(modelReferenceDataLibrary);
            this.siteDirectory.Model.Add(engineeringModelSetup);
            this.openRdlList = new List <ReferenceDataLibrary>(this.siteDirectory.SiteReferenceDataLibrary)
            {
                modelReferenceDataLibrary
            };
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(new HashSet <ReferenceDataLibrary>(this.openRdlList));

            var browser = new UnitPrefixBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null);

            Assert.AreEqual(4, browser.UnitPrefixes.Count);
        }
Exemplo n.º 21
0
        public void Verify_that_when_RelationshipCategory_is_not_in_chain_of_rdl_result_is_returned()
        {
            var siteReferenceDataLibrary = new SiteReferenceDataLibrary();

            var category = new Category {
                Iid = Guid.Parse("e269cbd4-5b70-41ef-87ff-ceefc662a4fb"), ShortName = "CAT"
            };

            siteReferenceDataLibrary.DefinedCategory.Add(category);
            var sourceCategory = new Category {
                Iid = Guid.Parse("5d16ca08-e01d-409e-ab38-049c11a1f1fb"), ShortName = "SOURCE"
            };

            this.modelReferenceDataLibrary.DefinedCategory.Add(sourceCategory);
            var targetCategory = new Category {
                Iid = Guid.Parse("7dc45a22-3862-42a6-ae1e-1bc853c4dc94"), ShortName = "TARGET"
            };

            this.modelReferenceDataLibrary.DefinedCategory.Add(targetCategory);

            this.binaryRelationshipRule.RelationshipCategory = category;
            this.binaryRelationshipRule.SourceCategory       = sourceCategory;
            this.binaryRelationshipRule.TargetCategory       = targetCategory;

            var result = this.binaryRelationshipRuleRuleChecker.CheckWhetherReferencedCategoriesAreInChainOfRdls(this.binaryRelationshipRule).Single();

            Assert.That(result.Id, Is.EqualTo("MA-0200"));
            Assert.That(result.Description, Is.EqualTo("The BinaryRelationshipRule.RelationshipCategory e269cbd4-5b70-41ef-87ff-ceefc662a4fb:CAT of 426f4e96-dcfd-4589-bce0-856bea40495b:BINRULE is not in the chain of Reference Data Libraries"));
            Assert.That(result.Severity, Is.EqualTo(SeverityKind.Error));
            Assert.That(result.Thing, Is.EqualTo(this.binaryRelationshipRule));
        }
Exemplo n.º 22
0
        public void Setup()
        {
            RxApp.MainThreadScheduler = Scheduler.CurrentThread;

            this.session           = new Mock <ISession>();
            this.dialogNavigation  = new Mock <IThingDialogNavigationService>();
            this.navigation        = new Mock <IPanelNavigationService>();
            this.permissionService = new Mock <IPermissionService>();
            this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true);

            this.uri           = new Uri("http://www.rheagroup.com");
            this.assembler     = new Assembler(this.uri);
            this.siteDirectory = new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "site directory"
            };
            this.siteRdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "test RDL", Container = this.siteDirectory
            };
            this.siteDirectory.SiteReferenceDataLibrary.Add(this.siteRdl);
            this.person = new Person(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                GivenName = "John", Surname = "Doe"
            };

            this.openRdlList = new List <ReferenceDataLibrary>(this.siteDirectory.SiteReferenceDataLibrary);
            this.session.Setup(x => x.ActivePerson).Returns(this.person);
            this.session.Setup(x => x.Assembler).Returns(this.assembler);
            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);

            this.browser = new UnitPrefixBrowserViewModel(this.session.Object, this.siteDirectory, this.dialogNavigation.Object, this.navigation.Object, null, null);
        }
Exemplo n.º 23
0
        public void VerifyThatGetRequiredRdlsWorks()
        {
            var srdl1 = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var mrdl  = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var srdl2 = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);

            var cat1 = new Category(Guid.NewGuid(), null, null);
            var cat2 = new Category(Guid.NewGuid(), null, null);

            mrdl.RequiredRdl  = srdl1;
            srdl2.RequiredRdl = srdl1;

            mrdl.DefinedCategory.Add(cat1);
            srdl1.DefinedCategory.Add(cat2);

            var def = new ElementDefinition(Guid.NewGuid(), null, null);

            def.Category.Add(cat1);
            def.Category.Add(cat2);

            Assert.AreEqual(2, def.RequiredRdls.Count());
            Assert.IsTrue(def.RequiredRdls.Contains(srdl1));
            Assert.IsTrue(def.RequiredRdls.Contains(mrdl));
            Assert.IsFalse(def.RequiredRdls.Contains(srdl2));
        }
        public void VerifyThatScalesFromExistingRdlsAreLoaded()
        {
            var siterefenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var ratioscale1            = new RatioScale(Guid.NewGuid(), null, null);
            var ratioscale2            = new RatioScale(Guid.NewGuid(), null, null);

            siterefenceDataLibrary.Scale.Add(ratioscale1);
            siterefenceDataLibrary.Scale.Add(ratioscale2);
            this.siteDirectory.SiteReferenceDataLibrary.Add(siterefenceDataLibrary);

            var engineeringModelSetup     = new EngineeringModelSetup(Guid.NewGuid(), null, null);
            var modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), null, null);
            var ratioscale3 = new RatioScale(Guid.NewGuid(), null, null);
            var ratioscale4 = new RatioScale(Guid.NewGuid(), null, null);

            modelReferenceDataLibrary.Scale.Add(ratioscale3);
            modelReferenceDataLibrary.Scale.Add(ratioscale4);
            engineeringModelSetup.RequiredRdl.Add(modelReferenceDataLibrary);
            this.siteDirectory.Model.Add(engineeringModelSetup);
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(new HashSet <ReferenceDataLibrary>(this.siteDirectory.SiteReferenceDataLibrary)
            {
                modelReferenceDataLibrary
            });

            var browser = new MeasurementScalesBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null);

            Assert.AreEqual(4, browser.MeasurementScales.Count);

            browser.Dispose();
            Assert.IsNull(browser.MeasurementScales.First().Thing);
        }
Exemplo n.º 25
0
        public void VerifyThatCategoriesFromExistingRdlsAreLoaded()
        {
            var siterefenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var glossary1 = new Glossary(Guid.NewGuid(), null, null);
            var glossary2 = new Glossary(Guid.NewGuid(), null, null);

            siterefenceDataLibrary.Glossary.Add(glossary1);
            siterefenceDataLibrary.Glossary.Add(glossary2);
            this.siteDirectory.SiteReferenceDataLibrary.Add(siterefenceDataLibrary);

            var engineeringModelSetup     = new EngineeringModelSetup(Guid.NewGuid(), null, null);
            var modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), null, null);
            var glossary3 = new Glossary(Guid.NewGuid(), null, null);
            var glossary4 = new Glossary(Guid.NewGuid(), null, null);

            modelReferenceDataLibrary.Glossary.Add(glossary3);
            modelReferenceDataLibrary.Glossary.Add(glossary4);
            engineeringModelSetup.RequiredRdl.Add(modelReferenceDataLibrary);
            this.siteDirectory.Model.Add(engineeringModelSetup);
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(new HashSet <ReferenceDataLibrary>(this.siteDirectory.SiteReferenceDataLibrary)
            {
                modelReferenceDataLibrary
            });

            var browser = new GlossaryBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null);

            Assert.AreEqual(4, browser.Glossaries.Count);
        }
Exemplo n.º 26
0
        public void VerifyThatUpdatedCategoryEventAreCaught()
        {
            var vm = new CategoryBrowserViewModel(this.session.Object, this.siteDir, null, null, null, null);

            var sRdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri);

            sRdl.Container = this.siteDir;

            var cat = new Category(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "cat1", ShortName = "1", Container = sRdl
            };
            var cat2 = new Category(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "cat2", ShortName = "2", Container = sRdl
            };

            CDPMessageBus.Current.SendObjectChangeEvent(cat, EventKind.Added);
            CDPMessageBus.Current.SendObjectChangeEvent(cat2, EventKind.Added);

            cat.SuperCategory.Add(cat2);
            // workaround to modify a read-only field
            var type = cat.GetType();

            type.GetProperty("RevisionNumber").SetValue(cat, 50);
            CDPMessageBus.Current.SendObjectChangeEvent(cat, EventKind.Updated);

            var row1 = vm.Categories.First();

            Assert.AreEqual(cat.Name, row1.Name);
            Assert.AreEqual(cat.ShortName, row1.ShortName);
            Assert.AreEqual((cat.Container as ReferenceDataLibrary).Name, row1.ContainerRdl);
            Assert.IsTrue(row1.SuperCategories.Contains(cat2.ShortName));
        }
Exemplo n.º 27
0
        public void Setup()
        {
            this.assembler            = new Assembler(this.uri);
            RxApp.MainThreadScheduler = Scheduler.CurrentThread;

            this.thingDialogNavigationService = new Mock <IThingDialogNavigationService>();
            this.panelNavigationService       = new Mock <IPanelNavigationService>();
            this.permissionService            = new Mock <IPermissionService>();
            this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true);

            this.session = new Mock <ISession>();
            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);
            this.siteDirectory = new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "site directory"
            };
            this.person = new Person(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                GivenName = "John", Surname = "Doe"
            };
            this.srdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri);

            this.siteDirectory.SiteReferenceDataLibrary.Add(this.srdl);
            this.session.Setup(x => x.ActivePerson).Returns(this.person);
            this.session.Setup(x => x.Assembler).Returns(this.assembler);

            this.glossaryBrowser = new GlossaryBrowserViewModel(this.session.Object, this.siteDirectory, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);
        }
        public void Setup()
        {
            RxApp.MainThreadScheduler = Scheduler.CurrentThread;
            this.cache             = new ConcurrentDictionary <CacheKey, Lazy <Thing> >();
            this.navigation        = new Mock <IThingDialogNavigationService>();
            this.permissionService = new Mock <IPermissionService>();
            this.session           = new Mock <ISession>();

            this.siteDir     = new SiteDirectory(Guid.NewGuid(), this.cache, this.uri);
            this.siteRdl     = new SiteReferenceDataLibrary(Guid.NewGuid(), this.cache, this.uri);
            this.derivedUnit = new DerivedUnit(Guid.NewGuid(), this.cache, this.uri);
            this.unit        = new SimpleUnit(Guid.NewGuid(), this.cache, this.uri);

            this.siteRdl.Unit.Add(this.unit);

            this.siteDir.SiteReferenceDataLibrary.Add(this.siteRdl);

            this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(this.siteDir);
            this.cache.TryAdd(new CacheKey(this.derivedUnit.Iid, null), new Lazy <Thing>(() => this.derivedUnit));
            this.clone = this.derivedUnit.Clone(false);

            var transactionContext = TransactionContextResolver.ResolveContext(this.siteDir);

            this.transaction = new ThingTransaction(transactionContext, this.clone);

            var dal = new Mock <IDal>();

            this.session.Setup(x => x.DalVersion).Returns(new Version(1, 1, 0));
            this.session.Setup(x => x.Dal).Returns(dal.Object);
            dal.Setup(x => x.MetaDataProvider).Returns(new MetaDataProvider());
        }
Exemplo n.º 29
0
        public void Verify_that_when_referenced_MeasurementScale_is_not_in_chain_of_rdls_result_is_returned()
        {
            var scale = new RatioScale {
                Iid = Guid.Parse("1191838a-0f9f-4d2c-8369-cf729d281dee"), ShortName = "SCALE"
            };
            var otherSiterReferenceDataLibrary = new SiteReferenceDataLibrary();

            otherSiterReferenceDataLibrary.Scale.Add(scale);

            this.simpleQuantityKind.PossibleScale.Add(scale);
            this.simpleQuantityKind.DefaultScale = scale;

            var first = this.quantityKindRuleChecker.CheckWhetherReferencedMeasurementScaleInChainOfRdls(this.simpleQuantityKind).First();
            var last  = this.quantityKindRuleChecker.CheckWhetherReferencedMeasurementScaleInChainOfRdls(this.simpleQuantityKind).Last();

            Assert.That(first.Id, Is.EqualTo("MA-0230"));
            Assert.That(first.Description, Is.EqualTo("The referenced MeasurementScale 1191838a-0f9f-4d2c-8369-cf729d281dee:SCALE in QuantityKind.PossibleScale is not in the chain of Reference Data Libraries"));
            Assert.That(first.Thing, Is.EqualTo(this.simpleQuantityKind));
            Assert.That(first.Severity, Is.EqualTo(SeverityKind.Error));

            Assert.That(last.Id, Is.EqualTo("MA-0230"));
            Assert.That(last.Description, Is.EqualTo("The referenced MeasurementScale 1191838a-0f9f-4d2c-8369-cf729d281dee:SCALE in QuantityKind.DefaultScale is not in the chain of Reference Data Libraries"));
            Assert.That(last.Thing, Is.EqualTo(this.simpleQuantityKind));
            Assert.That(last.Severity, Is.EqualTo(SeverityKind.Error));
        }
        public void Verify_that_when_referenced_Category_is_not_in_chain_of_rdls_Result_is_returned()
        {
            var otherSiteReferenceDataLibrary = new SiteReferenceDataLibrary();

            var referencingCategory = new Category {
                Iid = Guid.Parse("a52085b8-6b50-4d76-b699-14b2bb0af59f"), ShortName = "referencing"
            };

            otherSiteReferenceDataLibrary.DefinedCategory.Add(referencingCategory);

            var referencedCategory = new Category {
                Iid = Guid.Parse("e0fdb079-2181-409a-ac76-256ccf5ef205"), ShortName = "referenced"
            };

            otherSiteReferenceDataLibrary.DefinedCategory.Add(referencedCategory);

            this.referencerRule.ReferencingCategory = referencingCategory;
            this.referencerRule.ReferencedCategory.Add(referencedCategory);

            var results = this.referencerRuleRuleChecker.CheckWhetherReferencedCategoryIsInChainOfRdls(this.referencerRule);

            var first = results.First();

            Assert.That(first.Id, Is.EqualTo("MA-0200"));
            Assert.That(first.Description, Is.EqualTo("The ReferencerRule.RelationshipCategory a52085b8-6b50-4d76-b699-14b2bb0af59f:referencing of 85c00539-410b-4208-8ee5-b9ee41f358db:RULE is not in the chain of Reference Data Libraries"));
            Assert.That(first.Severity, Is.EqualTo(SeverityKind.Error));
            Assert.That(first.Thing, Is.EqualTo(this.referencerRule));

            var last = results.Last();

            Assert.That(last.Id, Is.EqualTo("MA-0200"));
            Assert.That(last.Description, Is.EqualTo("The ReferencerRule.ReferencedCategory e0fdb079-2181-409a-ac76-256ccf5ef205:referenced of 85c00539-410b-4208-8ee5-b9ee41f358db:RULE is not in the chain of Reference Data Libraries"));
            Assert.That(last.Severity, Is.EqualTo(SeverityKind.Error));
            Assert.That(last.Thing, Is.EqualTo(this.referencerRule));
        }