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); }
/// <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); }
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); }
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); }
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)); }
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>())); }