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); }
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")); }
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); }
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); }
public void VerifyThatNullIterationThrowsArgumentException() { var rule = new ParameterizedCategoryRule(Guid.NewGuid(), this.cache, this.uri); Assert.Throws<ArgumentNullException>(() => rule.Verify(null)); }
public void VerifyThatIfCategoryNotSetOnRuleInvalidOperationIsThrown() { var rule = new ParameterizedCategoryRule(Guid.NewGuid(), this.cache, this.uri); Assert.Throws<InvalidOperationException>(() => rule.Verify(this.iteration)); }