public void VerifyThatPopulateCategoriesWorks()
        {
            var vm = new RequirementDialogViewModel(this.requirement, this.thingTransaction, this.session.Object,
                                                    true, ThingDialogKind.Create, this.thingDialogNavigationService.Object, this.clone);

            Assert.AreEqual(1, vm.PossibleCategory.Count);
        }
        public void VerifyInspectParametricConstraint()
        {
            var vm = new RequirementDialogViewModel(this.requirement, this.thingTransaction, this.session.Object,
                                                    true, ThingDialogKind.Create, this.thingDialogNavigationService.Object, this.clone);

            Assert.IsNull(vm.SelectedParametricConstraint);
            Assert.IsFalse(vm.InspectParametricConstraintCommand.CanExecute(null));

            vm.SelectedParametricConstraint = vm.ParametricConstraint.First();

            Assert.IsTrue(vm.InspectParametricConstraintCommand.CanExecute(null));

            vm.InspectParametricConstraintCommand.Execute(null);

            this.thingDialogNavigationService.Verify(x => x.Navigate(It.IsAny <ParametricConstraint>(), It.IsAny <ThingTransaction>(), this.session.Object, false, ThingDialogKind.Inspect, this.thingDialogNavigationService.Object, It.IsAny <Thing>(), null));
        }
        public void VerifyThatWhenTheContentOfATheSelectedDefinitionIsNotNullOrEmptyTheOkButtonDoesNotActivate()
        {
            var definition = new Definition()
            {
                LanguageCode = "en",
                Content      = null
            };

            this.requirement.Definition.Add(definition);

            var vm = new RequirementDialogViewModel(this.requirement, this.thingTransaction, this.session.Object,
                                                    true, ThingDialogKind.Create, this.thingDialogNavigationService.Object, this.clone);

            Assert.IsFalse(vm.OkCommand.CanExecute(null));

            vm.RequirementText = "some text";

            Assert.IsTrue(vm.OkCommand.CanExecute(null));
        }
        public void VerifyThatAnUnknownLanguageCodeIsUsedAsIsWithoutTranslatingToACulture()
        {
            var languageCode = "F6F40215-560D-4104-93E1-6452769FDACC";
            var content      = "some text in an unkown language";

            var definition = new Definition()
            {
                LanguageCode = languageCode,
                Content      = content
            };

            this.requirement.Definition.Add(definition);

            var vm = new RequirementDialogViewModel(this.requirement, this.thingTransaction, this.session.Object,
                                                    true, ThingDialogKind.Create, this.thingDialogNavigationService.Object, this.clone);

            Assert.AreEqual(languageCode, vm.SelectedLanguageCode.Name);
            Assert.AreEqual(content, vm.RequirementText);
        }