Esempio n. 1
0
        public void VerifyThatIfElementDefinitionContainsCorrectParametersNoViolationIsReturned()
        {
            var rule = new ParameterizedCategoryRule(Guid.NewGuid(), this.cache, this.uri)
            {
                Category = this.productCategory
            };
            rule.ParameterType.Add(this.textParameterType);
            rule.ParameterType.Add(this.simpleQuantityKind);

            var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri)
            {
                Name = "Battery",
                ShortName = "BAT"
            };

            var textParameter = new Parameter(Guid.NewGuid(), this.cache, this.uri);
            textParameter.ParameterType = this.textParameterType;
            var simpleParameter = new Parameter(Guid.NewGuid(), this.cache, this.uri);
            simpleParameter.ParameterType = simpleQuantityKind;

            elementDefinition.Parameter.Add(textParameter);
            elementDefinition.Parameter.Add(simpleParameter);

            elementDefinition.Category.Add(this.batteryCategory);
            this.iteration.Element.Add(elementDefinition);

            var violations = rule.Verify(this.iteration);

            Assert.IsEmpty(violations);
        }
Esempio n. 2
0
        public void VerifyThatIfElementDefinitionIsCategprizedAndParametersAreMissionAViolationIsReturned()
        {
            var rule = new ParameterizedCategoryRule(Guid.NewGuid(), this.cache, this.uri)
                           {
                               Category = this.productCategory
                           };
            rule.ParameterType.Add(this.textParameterType);
            rule.ParameterType.Add(this.simpleQuantityKind);

            var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri)
                                        {
                                            Name = "Battery",
                                            ShortName = "BAT"
                                        };
            elementDefinition.Category.Add(this.batteryCategory);
            this.iteration.Element.Add(elementDefinition);

            var violations = rule.Verify(this.iteration);

            Assert.IsNotEmpty(violations);

            var violation = violations.Single();
            violation.ViolatingThing.Contains(elementDefinition.Iid);

            Assert.IsTrue(violation.Description.Contains("does not contain parameters that reference the following parameter types"));
        }
Esempio n. 3
0
        public void VerifyThatIfNoElementDefinitionsAreContainedByIterationNoViolationIsReturned()
        {
            var rule = new ParameterizedCategoryRule(Guid.NewGuid(), this.cache, this.uri)
            {
                Category = this.productCategory
            };
            var violations = rule.Verify(this.iteration);

            Assert.IsEmpty(violations);
        }
Esempio n. 4
0
        public void VerifyThatIfNoParameterTypesSpecifiedNoViolationIsReturned()
        {
            var rule = new ParameterizedCategoryRule(Guid.NewGuid(), this.cache, this.uri)
                        {
                            Category = this.productCategory
                        };

            var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri)
            {
                Name = "Battery",
                ShortName = "BAT"
            };
            elementDefinition.Category.Add(this.batteryCategory);
            this.iteration.Element.Add(elementDefinition);

            var violations = rule.Verify(this.iteration);

            Assert.IsEmpty(violations);
        }
Esempio n. 5
0
 public void VerifyThatNullIterationThrowsArgumentException()
 {
     var rule = new ParameterizedCategoryRule(Guid.NewGuid(), this.cache, this.uri);
     Assert.Throws<ArgumentNullException>(() => rule.Verify(null));
 }
Esempio n. 6
0
 public void VerifyThatIfCategoryNotSetOnRuleInvalidOperationIsThrown()
 {
     var rule = new ParameterizedCategoryRule(Guid.NewGuid(), this.cache, this.uri);
     Assert.Throws<InvalidOperationException>(() => rule.Verify(this.iteration));
 }