示例#1
0
        public void VerifyThatActiveDomainIsDisplayed()
        {
            var domain = new DomainOfExpertise(Guid.NewGuid(), null, this.uri)
            {
                Name = "domain"
            };

            this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >
            {
                { this.iteration, new Tuple <DomainOfExpertise, Participant>(domain, null) }
            });

            var vm = new OptionBrowserViewModel(this.iteration, this.session.Object, null, null, null, null);

            Assert.AreEqual("domain []", vm.DomainOfExpertise);

            this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >
            {
                { this.iteration, null }
            });

            vm = new OptionBrowserViewModel(this.iteration, this.session.Object, null, null, null, null);
            Assert.AreEqual("None", vm.DomainOfExpertise);

            this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >());
            vm = new OptionBrowserViewModel(this.iteration, this.session.Object, null, null, null, null);
            Assert.AreEqual("None", vm.DomainOfExpertise);
        }
示例#2
0
        /// <summary>
        /// Show or close the <see cref="OptionBrowserViewModel"/>
        /// </summary>
        /// <param name="iterationId">
        /// the unique id of the <see cref="Iteration"/> that is being represented by the <see cref="OptionBrowserViewModel"/>
        /// </param>
        private void ShowOrCloseOptionBrowser(string iterationId)
        {
            var uniqueId  = Guid.Parse(iterationId);
            var iteration = this.Iterations.SingleOrDefault(x => x.Iid == uniqueId);

            if (iteration == null)
            {
                return;
            }

            // close the brower if it exists
            var browser = this.openOptionBrowsers.SingleOrDefault(x => x.Thing == iteration);

            if (browser != null)
            {
                this.PanelNavigationService.CloseInAddIn(browser);
                this.openOptionBrowsers.Remove(browser);
                return;
            }

            var model = (EngineeringModel)iteration.Container;

            if (model == null)
            {
                throw new InvalidOperationException("The Container of an Iteration is not a EngineeringModel.");
            }

            browser = new OptionBrowserViewModel(iteration, this.Session, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService);

            this.openOptionBrowsers.Add(browser);
            this.PanelNavigationService.OpenInAddIn(browser);
        }
示例#3
0
        public void VerifyThatDefaultOptionIsUpdated()
        {
            var newoption = new Option(Guid.NewGuid(), null, this.uri);

            this.iteration.Option.Add(newoption);

            var viewmodel = new OptionBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            Assert.IsEmpty(viewmodel.Options.Where(x => x.IsDefaultOption));

            var revision = typeof(Iteration).GetProperty("RevisionNumber");

            revision.SetValue(this.iteration, 2);
            this.iteration.DefaultOption = this.option;

            CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated);

            var defaultRow = viewmodel.Options.Single(x => x.IsDefaultOption);

            Assert.AreSame(this.option, defaultRow.Thing);

            revision.SetValue(this.iteration, 3);
            this.iteration.DefaultOption = newoption;

            CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated);
            defaultRow = viewmodel.Options.Single(x => x.IsDefaultOption);
            Assert.AreSame(newoption, defaultRow.Thing);
        }
        public void Verify_that_when_Model_is_a_catalog_an_option_cannot_be_created_if_there_is_already_one()
        {
            this.modelsetup.Kind = EngineeringModelKind.MODEL_CATALOGUE;
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true);

            var viewmodel = new OptionBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            Assert.That(viewmodel.CanCreateOption, Is.False);
        }
        public void Verify_that_when_model_is_not_a_catalog_option_creation_is_not_limited()
        {
            this.modelsetup.Kind = EngineeringModelKind.STUDY_MODEL;
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true);

            var viewmodel = new OptionBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            Assert.That(viewmodel.CanCreateOption, Is.True);
        }
        public void VerifyThatActiveDomainIsDisplayed()
        {
            var testDomain = new DomainOfExpertise(Guid.NewGuid(), null, this.uri)
            {
                Name = "domain"
            };

            this.session.Setup(x => x.QuerySelectedDomainOfExpertise(this.iteration)).Returns(testDomain);

            var vm = new OptionBrowserViewModel(this.iteration, this.session.Object, null, null, null, null);

            Assert.AreEqual("domain []", vm.DomainOfExpertise);

            testDomain = null;
            this.session.Setup(x => x.QuerySelectedDomainOfExpertise(this.iteration)).Returns(testDomain);

            vm = new OptionBrowserViewModel(this.iteration, this.session.Object, null, null, null, null);
            Assert.AreEqual("None", vm.DomainOfExpertise);
        }
示例#7
0
        public void VerifyThatOptionRowsAreUpdated()
        {
            var viewmodel = new OptionBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            var newoption = new Option(Guid.NewGuid(), null, this.uri);

            this.iteration.Option.Add(newoption);

            var revision = typeof(Iteration).GetProperty("RevisionNumber");

            revision.SetValue(this.iteration, 2);

            CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated);
            Assert.AreEqual(2, viewmodel.Options.Count);

            this.iteration.Option.Clear();
            revision.SetValue(this.iteration, 3);

            CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated);
            Assert.AreEqual(0, viewmodel.Options.Count);
        }
示例#8
0
        public void VerifyThatRowsAreCreated()
        {
            var viewmodel = new OptionBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            Assert.AreEqual(1, viewmodel.Options.Count);
            Assert.That(viewmodel.Caption, Is.Not.Null.Or.Empty);
            Assert.That(viewmodel.ToolTip, Is.Not.Null.Or.Empty);
            Assert.That(viewmodel.DataSource, Is.Not.Null.Or.Empty);
            Assert.That(viewmodel.DomainOfExpertise, Is.Not.Null.Or.Empty);
            Assert.That(viewmodel.CurrentModel, Is.Not.Null.Or.Empty);

            var optionrow = viewmodel.Options.Single();

            Assert.That(optionrow.ShortName, Is.Not.Null.Or.Empty);
            Assert.That(optionrow.Name, Is.Not.Null.Or.Empty);

            viewmodel.SelectedThing = optionrow;

            viewmodel.CreateCommand.Execute(null);
            this.thingDialogNavigationService.Verify(x => x.Navigate(It.IsAny <Option>(), It.IsAny <IThingTransaction>(), this.session.Object, true, ThingDialogKind.Create, this.thingDialogNavigationService.Object, It.IsAny <Iteration>(), null));
        }
示例#9
0
        public void VerifyThatSetDefaultCommandWorks()
        {
            var newoption = new Option(Guid.NewGuid(), null, this.uri);

            this.iteration.Option.Add(newoption);

            var viewmodel = new OptionBrowserViewModel(this.iteration, this.session.Object, this.thingDialogNavigationService.Object, this.panelNavigationService.Object, null, null);

            var optionRow = viewmodel.Options.First();

            optionRow.IsDefaultOption = true;

            Assert.IsFalse(viewmodel.SetDefaultCommand.CanExecute(null));

            optionRow.IsDefaultOption = false;
            Assert.IsFalse(viewmodel.SetDefaultCommand.CanExecute(null));
            viewmodel.SelectedThing = optionRow;

            Assert.IsTrue(viewmodel.SetDefaultCommand.CanExecute(null));

            viewmodel.SetDefaultCommand.Execute(null);
            this.session.Verify(x => x.Write(It.IsAny <OperationContainer>()));
        }