public void VerifyThatRequirementsAreSortedBeforeGroups() { var requirement = new Requirement() { ShortName = "REQ", Owner = this.domain }; var requirementsGroup = new RequirementsGroup() { ShortName = "GRP", Owner = this.domain }; this.requirementsSpecification.Group.Add(requirementsGroup); this.requirementsSpecification.Requirement.Add(requirement); var vm = new RequirementsSpecificationEditorViewModel(this.requirementsSpecification, this.session.Object, null, null, null, null); Assert.AreEqual(3, vm.ContainedRows.Count); var specRow = vm.ContainedRows[0]; Assert.AreEqual(this.requirementsSpecification, specRow.Thing); var reqRow = vm.ContainedRows[1]; Assert.AreEqual(requirement, reqRow.Thing); var reqGroupRow = vm.ContainedRows[2]; Assert.AreEqual(requirementsGroup, reqGroupRow.Thing); }
public void VerifyThatPropertiesAreSet() { var vm = new RequirementsSpecificationEditorViewModel(this.requirementsSpecification, this.session.Object, null, null, null, null); Assert.AreEqual("Requirements Specification Editor: URD", vm.Caption); Assert.AreEqual("model", vm.CurrentModel); Assert.AreEqual("None", vm.DomainOfExpertise); Assert.AreEqual("User Requirements Document\nhttp://www.rheagroup.com/\n ", vm.ToolTip); Assert.AreEqual(1, vm.CurrentIteration); }
public void VefifyThatRequirementEditCanBeCancelled() { var requirementA = new Requirement(Guid.NewGuid(), this.assembler.Cache, this.uri) { ShortName = "REQA", Owner = this.domain }; var requirementB = new Requirement(Guid.NewGuid(), this.assembler.Cache, this.uri) { ShortName = "REQB", Owner = this.domain }; var defA = new Definition(Guid.NewGuid(), this.assembler.Cache, this.uri) { Content = "0" }; this.cache.TryAdd(new CacheKey(defA.Iid, this.iteration.Iid), new Lazy <Thing>(() => defA)); this.cache.TryAdd(new CacheKey(requirementA.Iid, this.iteration.Iid), new Lazy <Thing>(() => requirementA)); this.cache.TryAdd(new CacheKey(requirementB.Iid, this.iteration.Iid), new Lazy <Thing>(() => requirementB)); requirementA.Definition.Add(defA); this.requirementsSpecification.Requirement.Add(requirementB); this.requirementsSpecification.Requirement.Add(requirementA); var vm = new RequirementsSpecificationEditorViewModel(this.requirementsSpecification, this.session.Object, this.thingDialogNavigation.Object, this.panelNavigation.Object, this.dialogNavigation.Object, null); Assert.AreEqual(3, vm.ContainedRows.Count); var requirementARow = (ViewModels.RequirementsSpecificationEditor.RequirementRowViewModel)vm.ContainedRows.Single(row => row.Thing == requirementA); requirementARow.DefinitionContent = "changed"; Assert.IsTrue(requirementARow.IsDirty); var received = false; var observable = requirementARow.EventPublisher.GetEvent <ConfirmationEvent>().Subscribe(x => received = true); this.dialogNavigation.Setup(x => x.NavigateModal(It.IsAny <IDialogViewModel>())).Returns(new BaseDialogResult(true)); requirementARow.CancelCommand.Execute(null); Assert.AreEqual(requirementARow.DefinitionContent, defA.Content); Assert.IsTrue(received); observable.Dispose(); }
public void VefifyThatSpecWithRequirementsCanBeLoaded() { var requirementA = new Requirement() { ShortName = "REQA", Owner = this.domain }; var requirementB = new Requirement() { ShortName = "REQB", Owner = this.domain }; this.requirementsSpecification.Requirement.Add(requirementB); this.requirementsSpecification.Requirement.Add(requirementA); var vm = new RequirementsSpecificationEditorViewModel(this.requirementsSpecification, this.session.Object, null, null, null, null); Assert.AreEqual(3, vm.ContainedRows.Count); var requirementARow = (CDP4Requirements.ViewModels.RequirementsSpecificationEditor.RequirementRowViewModel)vm.ContainedRows.Single(row => row.Thing == requirementA); Assert.AreEqual("TST", requirementARow.OwnerShortName); Assert.AreEqual("REQA", requirementARow.ShortName); Assert.AreEqual("S:URD.R:REQA", requirementARow.BreadCrumb); var requirementBRow = (CDP4Requirements.ViewModels.RequirementsSpecificationEditor.RequirementRowViewModel)vm.ContainedRows.Single(row => row.Thing == requirementB); Assert.AreEqual("TST", requirementBRow.OwnerShortName); Assert.AreEqual("REQB", requirementBRow.ShortName); Assert.AreEqual("S:URD.R:REQB", requirementBRow.BreadCrumb); var specRow = vm.ContainedRows[0]; Assert.AreEqual(this.requirementsSpecification, specRow.Thing); var reqARow = vm.ContainedRows[1]; Assert.AreEqual(requirementA, reqARow.Thing); var reqBRow = vm.ContainedRows[2]; Assert.AreEqual(requirementB, reqBRow.Thing); }
public void VerifyThatSpecWithGroupsCanBeLoaded() { var requirementsGroupA = new RequirementsGroup() { ShortName = "GRPA", Owner = this.domain }; var requirementsGroupB = new RequirementsGroup() { ShortName = "GRPB", Owner = this.domain }; this.requirementsSpecification.Group.Add(requirementsGroupB); this.requirementsSpecification.Group.Add(requirementsGroupA); var vm = new RequirementsSpecificationEditorViewModel(this.requirementsSpecification, this.session.Object, null, null, null, null); Assert.AreEqual(3, vm.ContainedRows.Count); var requirementsGroupRowA = (CDP4Requirements.ViewModels.RequirementsSpecificationEditor.RequirementsGroupRowViewModel)vm.ContainedRows.Single(row => row.Thing == requirementsGroupA); Assert.AreEqual("TST", requirementsGroupRowA.OwnerShortName); Assert.AreEqual("GRPA", requirementsGroupRowA.ShortName); Assert.AreEqual("S:URD.RG:GRPA", requirementsGroupRowA.BreadCrumb); var specRow = vm.ContainedRows[0]; Assert.AreEqual(this.requirementsSpecification, specRow.Thing); var reqGroupARow = vm.ContainedRows[1]; Assert.AreEqual(requirementsGroupA, reqGroupARow.Thing); var reqGroupBRow = vm.ContainedRows[2]; Assert.AreEqual(requirementsGroupB, reqGroupBRow.Thing); }
public void VefifyThatSpecWithGroupAndRequirementsCanBeLoaded() { var requirement = new Requirement() { ShortName = "REQ", Owner = this.domain }; var requirementA = new Requirement() { ShortName = "REQA", Owner = this.domain }; var requirementA_A = new Requirement() { ShortName = "REQA_A", Owner = this.domain }; var requirementA_A_A = new Requirement() { ShortName = "REQA_A_A", Owner = this.domain }; var requirementB_1 = new Requirement() { ShortName = "REQB_1", Owner = this.domain }; var requirementB_2 = new Requirement() { ShortName = "REQB_2", Owner = this.domain }; this.requirementsSpecification.Requirement.Add(requirementB_2); this.requirementsSpecification.Requirement.Add(requirementB_1); this.requirementsSpecification.Requirement.Add(requirementA_A); this.requirementsSpecification.Requirement.Add(requirementA_A_A); this.requirementsSpecification.Requirement.Add(requirementA); this.requirementsSpecification.Requirement.Add(requirement); var requirementsGroupA = new RequirementsGroup() { ShortName = "GRPA", Owner = this.domain }; var requirementsGroupA_A = new RequirementsGroup() { ShortName = "GRPA_A", Owner = this.domain }; var requirementsGroupA_A_A = new RequirementsGroup() { ShortName = "GRPA_A_A", Owner = this.domain }; var requirementsGroupB = new RequirementsGroup() { ShortName = "GRPB_B", Owner = this.domain }; this.requirementsSpecification.Group.Add(requirementsGroupA); requirementsGroupA.Group.Add(requirementsGroupA_A); requirementsGroupA_A.Group.Add(requirementsGroupA_A_A); this.requirementsSpecification.Group.Add(requirementsGroupB); requirementA.Group = requirementsGroupA; requirementA_A.Group = requirementsGroupA_A; requirementA_A_A.Group = requirementsGroupA_A_A; requirementB_1.Group = requirementsGroupB; requirementB_2.Group = requirementsGroupB; var vm = new RequirementsSpecificationEditorViewModel(this.requirementsSpecification, this.session.Object, null, null, null, null); Assert.AreEqual(11, vm.ContainedRows.Count); var specRow = vm.ContainedRows[0]; Assert.AreEqual(this.requirementsSpecification, specRow.Thing); var requirementRow = vm.ContainedRows[1]; Assert.AreEqual(requirement, requirementRow.Thing); var requirementsGroupARow = vm.ContainedRows[2]; Assert.AreEqual(requirementsGroupA, requirementsGroupARow.Thing); var requirementARow = vm.ContainedRows[3]; Assert.AreEqual(requirementA, requirementARow.Thing); }