Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }