/// <summary> /// Show or close the <see cref="RequirementsBrowserViewModel"/> /// </summary> /// <param name="iterationId"> /// the unique id of the <see cref="Iteration"/> that is being represented by the <see cref="RequirementsBrowserViewModel"/> /// </param> private void ShowOrCloseRequirements(string iterationId) { var iterationUniqueId = Guid.Parse(iterationId); var iteration = this.Iterations.SingleOrDefault(x => x.Iid == iterationUniqueId); if (iteration == null) { return; } // close the brower if it exists var browser = this.openRequirementBrowser.SingleOrDefault(x => x.Thing == iteration); if (browser != null) { this.PanelNavigationService.CloseInAddIn(browser); this.openRequirementBrowser.Remove(browser); return; } browser = new RequirementsBrowserViewModel(iteration, this.Session, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService); this.openRequirementBrowser.Add(browser); this.PanelNavigationService.OpenInAddIn(browser); }
public void VerifyThatRequirementVerificationWorks() { var vm = new RequirementsBrowserViewModel(this.iteration, this.session.Object, this.dialogNavigation.Object, this.panelNavigation.Object, null, null); var reqSpecRow = vm.ReqSpecificationRows.Single(); Assert.IsTrue(vm.CanVerifyRequirements); vm.ExecuteVerifyRequirements(this.iteration.DefaultOption); Assert.AreEqual(RequirementStateOfCompliance.Inconclusive, reqSpecRow.RequirementStateOfCompliance); }
public void VerifyThatPropertiesAreSet() { var vm = new RequirementsBrowserViewModel(this.iteration, this.session.Object, null, null, null, null); Assert.AreEqual(1, vm.ReqSpecificationRows.Count); Assert.AreEqual(this.participant, vm.ActiveParticipant); Assert.AreEqual("Requirements, iteration_0", vm.Caption); Assert.AreEqual("model", vm.CurrentModel); Assert.AreEqual("test [test]", vm.DomainOfExpertise); Assert.AreEqual("model\nhttp://www.rheagroup.com/\n ", vm.ToolTip); }
public void VerifyThatDeprecatedRequirementSpecificationsAreNotVerified() { var vm = new RequirementsBrowserViewModel(this.iteration, this.session.Object, this.dialogNavigation.Object, this.panelNavigation.Object, null, null); var reqSpecRow = vm.ReqSpecificationRows.Single(); Assert.IsTrue(vm.CanVerifyRequirements); reqSpecRow.RequirementStateOfCompliance = RequirementStateOfCompliance.Unknown; reqSpecRow.Thing.IsDeprecated = true; vm.ExecuteVerifyRequirements(this.iteration.DefaultOption); Assert.AreEqual(RequirementStateOfCompliance.Unknown, reqSpecRow.RequirementStateOfCompliance); }
public override void Setup() { base.Setup(); this.categories = new List <Category>() { new Category { Name = "category1" }, new Category { Name = "category2" } }; this.spec1.Category = this.categories; RxApp.MainThreadScheduler = Scheduler.CurrentThread; this.requirementBrowserViewModel = new RequirementsBrowserViewModel(this.iteration, this.session.Object, null, null, null, this.pluginService.Object); }
public void VerifyThatActiveDomainIsDisplayed() { this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> > { { this.iteration, new Tuple <DomainOfExpertise, Participant>(this.domain, null) } }); var vm = new RequirementsBrowserViewModel(this.iteration, this.session.Object, null, null, null, null); Assert.AreEqual("test [test]", vm.DomainOfExpertise); DomainOfExpertise domainOfExpertise = null; this.session.Setup(x => x.QuerySelectedDomainOfExpertise(this.iteration)).Returns(domainOfExpertise); vm = new RequirementsBrowserViewModel(this.iteration, this.session.Object, null, null, null, null); Assert.AreEqual("None", vm.DomainOfExpertise); }
public void VerifyThatRequirementSpecificationMayBeAddedOrRemoved() { var revision = typeof(Thing).GetProperty("RevisionNumber"); var vm = new RequirementsBrowserViewModel(this.iteration, this.session.Object, this.dialogNavigation.Object, this.panelNavigation.Object, null, null); Assert.AreEqual(1, vm.ReqSpecificationRows.Count); var reqspec2 = new RequirementsSpecification(Guid.NewGuid(), this.cache, this.uri); this.iteration.RequirementsSpecification.Add(reqspec2); revision.SetValue(this.iteration, 2); CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated); Assert.AreEqual(2, vm.ReqSpecificationRows.Count); this.iteration.RequirementsSpecification.Remove(reqspec2); revision.SetValue(this.iteration, 3); CDPMessageBus.Current.SendObjectChangeEvent(this.iteration, EventKind.Updated); Assert.AreEqual(1, vm.ReqSpecificationRows.Count); }
public void VerifyThatCreateRequirementWorks() { this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> > { { this.iteration, new Tuple <DomainOfExpertise, Participant>(this.domain, null) } }); var vm = new RequirementsBrowserViewModel(this.iteration, this.session.Object, this.dialogNavigation.Object, this.panelNavigation.Object, null, null); var reqSpecRow = vm.ReqSpecificationRows.Single(); vm.SelectedThing = reqSpecRow; Assert.IsTrue(vm.CanCreateRequirement); vm.CreateRequirementCommand.Execute(null); this.dialogNavigation.Verify(x => x.Navigate(It.IsAny <Requirement>(), It.IsAny <IThingTransaction>(), this.session.Object, true, ThingDialogKind.Create, this.dialogNavigation.Object, It.IsAny <RequirementsSpecification>(), null)); vm.SelectedThing = (RequirementsGroupRowViewModel)reqSpecRow.ContainedRows.Single(x => x.Thing is RequirementsGroup); Assert.IsTrue(vm.CanCreateRequirement); vm.CreateRequirementCommand.Execute(null); this.dialogNavigation.Verify(x => x.Navigate(It.Is <Requirement>(r => r.Group != null), It.IsAny <IThingTransaction>(), this.session.Object, true, ThingDialogKind.Create, this.dialogNavigation.Object, It.IsAny <RequirementsSpecification>(), null)); }
public override void Setup() { base.Setup(); RxApp.MainThreadScheduler = Scheduler.CurrentThread; this.requirementBrowserViewModel = new RequirementsBrowserViewModel(this.iteration, this.session.Object, null, null, null, this.pluginService.Object); }
public void Setup() { this.assembler = new Assembler(this.uri); RxApp.MainThreadScheduler = Scheduler.CurrentThread; this.session = new Mock <ISession>(); 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.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object); this.session.Setup(x => x.DataSourceUri).Returns(this.uri.ToString); var person = new Person(Guid.NewGuid(), this.assembler.Cache, this.uri); this.domain = new DomainOfExpertise(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "test" }; var participant = new Participant(Guid.NewGuid(), this.assembler.Cache, this.uri) { Person = person, Domain = new List <DomainOfExpertise> { this.domain } }; this.session.Setup(x => x.ActivePerson).Returns(person); this.model = new EngineeringModel(Guid.NewGuid(), this.assembler.Cache, this.uri); this.modelSetup = new EngineeringModelSetup(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "model" }; this.modelSetup.Participant.Add(participant); this.iteration = new Iteration(Guid.NewGuid(), this.assembler.Cache, this.uri); this.iterationSetup = new IterationSetup(Guid.NewGuid(), this.assembler.Cache, this.uri); this.modelSetup.IterationSetup.Add(this.iterationSetup); this.reqSpec = new RequirementsSpecification(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "rs1", ShortName = "1" }; var tuple = new Tuple <DomainOfExpertise, Participant>(domain, participant); this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> > { { this.iteration, tuple } }); this.reqSpec.Owner = this.domain; this.iteration.RequirementsSpecification.Add(this.reqSpec); this.iteration.IterationSetup = this.iterationSetup; this.model.EngineeringModelSetup = this.modelSetup; this.model.Iteration.Add(this.iteration); this.grp1 = new RequirementsGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); this.grp11 = new RequirementsGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); this.grp2 = new RequirementsGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); this.reqSpec.Group.Add(this.grp1); this.reqSpec.Group.Add(this.grp2); this.grp1.Group.Add(this.grp11); this.req = new Requirement(Guid.NewGuid(), this.assembler.Cache, this.uri); this.reqSpec.Requirement.Add(this.req); this.requirementBrowserViewModel = new RequirementsBrowserViewModel(this.iteration, this.session.Object, null, null, null, null); }