Exemplo n.º 1
0
        public void AssertSavingConfigurationsWork()
        {
            var vm = new RelationshipMatrixViewModel(
                this.iteration,
                this.session.Object,
                this.thingDialogNavigationService.Object,
                this.panelNavigationService.Object,
                this.dialogNavigationService.Object,
                this.pluginService.Object);

            vm.SourceYConfiguration.SelectedClassKind =
                vm.SourceYConfiguration.PossibleClassKinds.First(x => x == ClassKind.ElementDefinition);
            vm.SourceXConfiguration.SelectedClassKind =
                vm.SourceXConfiguration.PossibleClassKinds.First(x => x == ClassKind.ElementDefinition);

            vm.SourceYConfiguration.SelectedCategories = new List <Category>(
                vm.SourceYConfiguration.PossibleCategories.Where(x =>
                                                                 x.Iid == this.catEd1.Iid || x.Iid == this.catEd2.Iid));
            vm.SourceXConfiguration.SelectedCategories =
                new List <Category>(vm.SourceXConfiguration.PossibleCategories.Where(x => x.Iid == this.catEd2.Iid));
            vm.SourceYConfiguration.SelectedBooleanOperatorKind = CategoryBooleanOperatorKind.OR;
            vm.RelationshipConfiguration.SelectedRule           = vm.RelationshipConfiguration.PossibleRules.Single();

            vm.SourceYConfiguration.IncludeSubcategories = false;

            Assert.DoesNotThrow(() => vm.SaveCurrentConfiguration.Execute(null));
            Assert.DoesNotThrow(() => vm.ManageSavedConfigurations.Execute(null));

            vm.Dispose();
        }
        public override void Setup()
        {
            base.Setup();

            this.source = new RelationshipMatrixViewModel(
                this.iteration,
                this.session.Object,
                this.thingDialogNavigationService.Object,
                this.panelNavigationService.Object,
                this.dialogNavigationService.Object,
                this.pluginService.Object);

            this.selectedCategoryList = new List <Category>()
            {
                this.catEd1, this.catEd3
            };
            this.categoryStringResult1 = $"{this.catEd1.Name} OR {this.catEd3.Name}";
            this.categoryStringResult2 = $"({this.catEd1.Name} OR {this.catEd3.Name} OR {this.catEd4.Name}) OR ({this.catEd3.Name})";
            this.categoryStringResult3 = $"{this.catEd1.Name} AND {this.catEd3.Name}";
            this.categoryStringResult4 = $"({this.catEd1.Name} OR {this.catEd3.Name} OR {this.catEd4.Name}) AND ({this.catEd3.Name})";
        }
Exemplo n.º 3
0
        public void AssertViewModelWorks()
        {
            var vm = new RelationshipMatrixViewModel(
                this.iteration,
                this.session.Object,
                this.thingDialogNavigationService.Object,
                this.panelNavigationService.Object,
                this.dialogNavigationService.Object,
                this.pluginService.Object);

            Assert.IsFalse(vm.CanEditSourceY);
            Assert.IsFalse(vm.CanEditSourceX);
            Assert.IsFalse(vm.CanInspectSourceY);
            Assert.IsFalse(vm.CanInspectSourceX);

            Assert.AreEqual(this.participant, vm.ActiveParticipant);
            Assert.AreEqual($"{this.domain.Name} [{this.domain.ShortName}]", vm.DomainOfExpertise);

            Assert.AreEqual(this.settings.PossibleClassKinds.Count, vm.SourceYConfiguration.PossibleClassKinds.Count);
            Assert.AreEqual(0, vm.RelationshipConfiguration.PossibleRules.Count);

            vm.SourceYConfiguration.SelectedClassKind =
                vm.SourceYConfiguration.PossibleClassKinds.First(x => x == ClassKind.ElementDefinition);
            vm.SourceXConfiguration.SelectedClassKind =
                vm.SourceXConfiguration.PossibleClassKinds.First(x => x == ClassKind.ElementDefinition);

            Assert.AreEqual(
                this.srdl.DefinedCategory.Count(x => x.PermissibleClass.Contains(ClassKind.ElementDefinition)),
                vm.SourceYConfiguration.PossibleCategories.Count);
            Assert.AreEqual(
                this.srdl.DefinedCategory.Count(x => x.PermissibleClass.Contains(ClassKind.ElementDefinition)),
                vm.SourceXConfiguration.PossibleCategories.Count);

            Assert.AreEqual(this.srdl.Rule.Count, vm.RelationshipConfiguration.PossibleRules.Count);
            Assert.IsEmpty(vm.Matrix.Records);
            Assert.IsEmpty(vm.Matrix.Columns);

            vm.SourceYConfiguration.SelectedCategories = new List <Category>(
                vm.SourceYConfiguration.PossibleCategories.Where(x =>
                                                                 x.Iid == this.catEd1.Iid || x.Iid == this.catEd2.Iid));
            vm.SourceXConfiguration.SelectedCategories =
                new List <Category>(vm.SourceXConfiguration.PossibleCategories.Where(x => x.Iid == this.catEd2.Iid));
            vm.SourceYConfiguration.SelectedBooleanOperatorKind = CategoryBooleanOperatorKind.OR;
            vm.RelationshipConfiguration.SelectedRule           = vm.RelationshipConfiguration.PossibleRules.Single();

            vm.SourceXConfiguration.SelectedOwners.Add(this.domain);
            vm.SourceYConfiguration.SelectedOwners.Add(this.domain);

            vm.SourceYConfiguration.IncludeSubcategories = false;

            Assert.AreEqual(3, vm.Matrix.Records.Count);
            Assert.AreEqual(3, vm.Matrix.Columns.Count);

            vm.SourceYConfiguration.IncludeSubcategories = true;

            Assert.AreEqual(5, vm.Matrix.Records.Count);
            Assert.AreEqual(3, vm.Matrix.Columns.Count);

            vm.SourceYConfiguration.SelectedCategories =
                new List <Category>(vm.SourceYConfiguration.PossibleCategories.Where(x => x.Iid == this.catEd3.Iid));

            Assert.AreEqual(2, vm.Matrix.Records.Count);
            Assert.AreEqual(3, vm.Matrix.Columns.Count);

            vm.SourceYConfiguration.SelectedCategories =
                new List <Category>(vm.SourceYConfiguration.PossibleCategories.Where(x => x.Iid == this.catEd4.Iid));

            Assert.AreEqual(1, vm.Matrix.Records.Count);
            Assert.AreEqual(3, vm.Matrix.Columns.Count);

            vm.SourceYConfiguration.SelectedCategories = new List <Category>(
                vm.SourceYConfiguration.PossibleCategories.Where(x =>
                                                                 x.Iid == this.catEd1.Iid || x.Iid == this.catEd2.Iid));
            vm.SourceYConfiguration.SelectedBooleanOperatorKind = CategoryBooleanOperatorKind.AND;

            Assert.AreEqual(1, vm.Matrix.Records.Count);
            Assert.AreEqual(3, vm.Matrix.Columns.Count);

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

            vm.SwitchAxisCommand.Execute(null);

            Assert.AreEqual(2, vm.Matrix.Records.Count);
            Assert.AreEqual(2, vm.Matrix.Columns.Count);

            vm.Dispose();
        }