public void CompositionTypeTakesRulesetInConsideration() { MetadataValidatedElement validatedElementForDefaultRuleset = new MetadataValidatedElement(""); MetadataValidatedElement validatedElementForRulesetWithAnd = new MetadataValidatedElement("ruleset with and"); MetadataValidatedElement validatedElementForRulesetWithOr = new MetadataValidatedElement("ruleset with or"); MetadataValidatedElement validatedElementForRulesetWithout = new MetadataValidatedElement("ruleset without"); MethodInfo methodInfo = typeof(MetadataValidatedElementFixtureTestClass).GetMethod("MethodWithRuleset"); validatedElementForDefaultRuleset.UpdateFlyweight(methodInfo); validatedElementForRulesetWithAnd.UpdateFlyweight(methodInfo); validatedElementForRulesetWithOr.UpdateFlyweight(methodInfo); validatedElementForRulesetWithout.UpdateFlyweight(methodInfo); Assert.AreEqual(CompositionType.Or, ((IValidatedElement)validatedElementForDefaultRuleset).CompositionType); Assert.AreEqual("message or", ((IValidatedElement)validatedElementForDefaultRuleset).CompositionMessageTemplate); Assert.AreEqual(null, ((IValidatedElement)validatedElementForDefaultRuleset).CompositionTag); Assert.AreEqual(CompositionType.And, ((IValidatedElement)validatedElementForRulesetWithAnd).CompositionType); Assert.AreEqual(null, ((IValidatedElement)validatedElementForRulesetWithAnd).CompositionMessageTemplate); Assert.AreEqual("composition tag", ((IValidatedElement)validatedElementForRulesetWithAnd).CompositionTag); Assert.AreEqual(CompositionType.Or, ((IValidatedElement)validatedElementForRulesetWithOr).CompositionType); Assert.AreEqual(Resources.TestMessageTemplate, ((IValidatedElement)validatedElementForRulesetWithOr).CompositionMessageTemplate); Assert.AreEqual(null, ((IValidatedElement)validatedElementForRulesetWithOr).CompositionTag); Assert.AreEqual(CompositionType.And, ((IValidatedElement)validatedElementForRulesetWithout).CompositionType); Assert.AreEqual(null, ((IValidatedElement)validatedElementForRulesetWithout).CompositionMessageTemplate); Assert.AreEqual(null, ((IValidatedElement)validatedElementForRulesetWithout).CompositionTag); }
public void NewInstanceIsClean() { MetadataValidatedElement validatedElement = new MetadataValidatedElement("ruleset"); Assert.IsNull(((IValidatedElement)validatedElement).TargetType); Assert.IsNull(((IValidatedElement)validatedElement).MemberInfo); Assert.AreEqual(CompositionType.And, ((IValidatedElement)validatedElement).CompositionType); Assert.AreEqual(false, ((IValidatedElement)validatedElement).IgnoreNulls); IDictionary<string, MockValidatorAttribute> attributes = CollectValidatorAttributes(((IValidatedElement)validatedElement).GetValidatorDescriptors()); Assert.AreEqual(0, attributes.Count); }
public void NewInstanceIsClean() { MetadataValidatedElement validatedElement = new MetadataValidatedElement("ruleset"); Assert.IsNull(((IValidatedElement)validatedElement).TargetType); Assert.IsNull(((IValidatedElement)validatedElement).MemberInfo); Assert.AreEqual(CompositionType.And, ((IValidatedElement)validatedElement).CompositionType); Assert.AreEqual(false, ((IValidatedElement)validatedElement).IgnoreNulls); IDictionary <string, MockValidatorAttribute> attributes = CollectValidatorAttributes(((IValidatedElement)validatedElement).GetValidatorDescriptors()); Assert.AreEqual(0, attributes.Count); }
public void FlyweightUpdatedWithValidatedPropertyReferenceWithValidationOverridesReturnsOverridenValues() { MetadataValidatedElement validatedElement = new MetadataValidatedElement(""); PropertyInfo propertyInfo = typeof(MetadataValidatedElementFixtureTestClass).GetProperty("PropertyWithValidationOverrides"); validatedElement.UpdateFlyweight(propertyInfo); Assert.AreSame(typeof(string), ((IValidatedElement)validatedElement).TargetType); Assert.AreSame(propertyInfo, ((IValidatedElement)validatedElement).MemberInfo); Assert.AreEqual(CompositionType.Or, ((IValidatedElement)validatedElement).CompositionType); Assert.AreEqual(true, ((IValidatedElement)validatedElement).IgnoreNulls); IDictionary<string, MockValidatorAttribute> attributes = CollectValidatorAttributes(((IValidatedElement)validatedElement).GetValidatorDescriptors()); Assert.AreEqual(1, attributes.Count); Assert.IsTrue(attributes.ContainsKey("property validator 1 message")); }
public void FlyweightUpdatedWithValidatedPropertyReferenceWithValidationOverridesReturnsOverridenValues() { MetadataValidatedElement validatedElement = new MetadataValidatedElement(""); PropertyInfo propertyInfo = typeof(MetadataValidatedElementFixtureTestClass).GetProperty("PropertyWithValidationOverrides"); validatedElement.UpdateFlyweight(propertyInfo); Assert.AreSame(typeof(string), ((IValidatedElement)validatedElement).TargetType); Assert.AreSame(propertyInfo, ((IValidatedElement)validatedElement).MemberInfo); Assert.AreEqual(CompositionType.Or, ((IValidatedElement)validatedElement).CompositionType); Assert.AreEqual(true, ((IValidatedElement)validatedElement).IgnoreNulls); IDictionary <string, MockValidatorAttribute> attributes = CollectValidatorAttributes(((IValidatedElement)validatedElement).GetValidatorDescriptors()); Assert.AreEqual(1, attributes.Count); Assert.IsTrue(attributes.ContainsKey("property validator 1 message")); }
public void FlyweightUpdatedWithValidatedTypeReturnsCorrectValues() { MetadataValidatedElement validatedElement = new MetadataValidatedElement(""); Type type = typeof(MetadataValidatedElementFixtureTestClass); validatedElement.UpdateFlyweight(type); Assert.AreSame(type, ((IValidatedElement)validatedElement).TargetType); Assert.AreSame(type, ((IValidatedElement)validatedElement).MemberInfo); Assert.AreEqual(CompositionType.And, ((IValidatedElement)validatedElement).CompositionType); Assert.AreEqual(false, ((IValidatedElement)validatedElement).IgnoreNulls); IDictionary <string, MockValidatorAttribute> attributes = CollectValidatorAttributes(((IValidatedElement)validatedElement).GetValidatorDescriptors()); Assert.AreEqual(1, attributes.Count); Assert.IsTrue(attributes.ContainsKey("type validator 1 message")); }
public void IgnoreNullsTakesRulesetInConsideration() { MetadataValidatedElement validatedElementForDefaultRuleset = new MetadataValidatedElement(""); MetadataValidatedElement validatedElementForRuleset = new MetadataValidatedElement("ruleset"); MetadataValidatedElement validatedElementForRuleset2 = new MetadataValidatedElement("ruleset2"); MethodInfo methodInfo = typeof(MetadataValidatedElementFixtureTestClass).GetMethod("MethodWithRuleset"); validatedElementForDefaultRuleset.UpdateFlyweight(methodInfo); validatedElementForRuleset.UpdateFlyweight(methodInfo); validatedElementForRuleset2.UpdateFlyweight(methodInfo); Assert.AreEqual(false, ((IValidatedElement)validatedElementForDefaultRuleset).IgnoreNulls); Assert.AreEqual(null, ((IValidatedElement)validatedElementForDefaultRuleset).IgnoreNullsMessageTemplate); Assert.AreEqual(null, ((IValidatedElement)validatedElementForDefaultRuleset).IgnoreNullsTag); Assert.AreEqual(true, ((IValidatedElement)validatedElementForRuleset).IgnoreNulls); Assert.AreEqual("message", ((IValidatedElement)validatedElementForRuleset).IgnoreNullsMessageTemplate); Assert.AreEqual(null, ((IValidatedElement)validatedElementForRuleset).IgnoreNullsTag); Assert.AreEqual(true, ((IValidatedElement)validatedElementForRuleset2).IgnoreNulls); Assert.AreEqual(Resources.TestMessageTemplate, ((IValidatedElement)validatedElementForRuleset2).IgnoreNullsMessageTemplate); Assert.AreEqual("ignore nulls tag", ((IValidatedElement)validatedElementForRuleset2).IgnoreNullsTag); }
public void FlyweightUpdatedWithValidatedMethodReferenceReturnsCorrectValues() { MetadataValidatedElement validatedElement = new MetadataValidatedElement(""); MethodInfo methodInfo = typeof(MetadataValidatedElementFixtureTestClass).GetMethod("Method"); validatedElement.UpdateFlyweight(methodInfo); Assert.AreSame(typeof(DateTime), ((IValidatedElement)validatedElement).TargetType); Assert.AreSame(methodInfo, ((IValidatedElement)validatedElement).MemberInfo); Assert.AreEqual(CompositionType.And, ((IValidatedElement)validatedElement).CompositionType); Assert.AreEqual(false, ((IValidatedElement)validatedElement).IgnoreNulls); IDictionary <string, MockValidatorAttribute> attributes = CollectValidatorAttributes(((IValidatedElement)validatedElement).GetValidatorDescriptors()); Assert.AreEqual(4, attributes.Count); Assert.IsTrue(attributes.ContainsKey("method validator 1 message")); Assert.IsTrue(attributes.ContainsKey("method validator 2 message")); Assert.IsTrue(attributes.ContainsKey("method validator 3 message")); Assert.IsTrue(attributes.ContainsKey("method validator 4 message")); }
public void FlyweightUpdatedWithValidatedTypeReturnsCorrectValues() { MetadataValidatedElement validatedElement = new MetadataValidatedElement(""); Type type = typeof(MetadataValidatedElementFixtureTestClass); validatedElement.UpdateFlyweight(type); Assert.AreSame(type, ((IValidatedElement)validatedElement).TargetType); Assert.AreSame(type, ((IValidatedElement)validatedElement).MemberInfo); Assert.AreEqual(CompositionType.And, ((IValidatedElement)validatedElement).CompositionType); Assert.AreEqual(false, ((IValidatedElement)validatedElement).IgnoreNulls); IDictionary<string, MockValidatorAttribute> attributes = CollectValidatorAttributes(((IValidatedElement)validatedElement).GetValidatorDescriptors()); Assert.AreEqual(1, attributes.Count); Assert.IsTrue(attributes.ContainsKey("type validator 1 message")); }
public void FlyweightUpdatedWithValidatedMethodReferenceReturnsCorrectValues() { MetadataValidatedElement validatedElement = new MetadataValidatedElement(""); MethodInfo methodInfo = typeof(MetadataValidatedElementFixtureTestClass).GetMethod("Method"); validatedElement.UpdateFlyweight(methodInfo); Assert.AreSame(typeof(DateTime), ((IValidatedElement)validatedElement).TargetType); Assert.AreSame(methodInfo, ((IValidatedElement)validatedElement).MemberInfo); Assert.AreEqual(CompositionType.And, ((IValidatedElement)validatedElement).CompositionType); Assert.AreEqual(false, ((IValidatedElement)validatedElement).IgnoreNulls); IDictionary<string, MockValidatorAttribute> attributes = CollectValidatorAttributes(((IValidatedElement)validatedElement).GetValidatorDescriptors()); Assert.AreEqual(4, attributes.Count); Assert.IsTrue(attributes.ContainsKey("method validator 1 message")); Assert.IsTrue(attributes.ContainsKey("method validator 2 message")); Assert.IsTrue(attributes.ContainsKey("method validator 3 message")); Assert.IsTrue(attributes.ContainsKey("method validator 4 message")); }