public void ValidatesUsingTheRulesForTheActualTypeIfValidatingTheActualType() { // TODO - change to avoid relying on reflection order object instance1 = new ObjectCollectionValidatorFixtureReferencedTestClass(); object instance2 = new DerivedObjectCollectionValidatorFixtureReferencedTestClass(); object target = new object[] { instance1, instance2 }; Validator validator = new ObjectCollectionValidator(); ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, this, "key", validationResults); // setting the currentTarget and the key Assert.IsFalse(validationResults.IsValid); IList <ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(6, resultsList.Count); Assert.AreEqual("ReferencedObject", resultsList[0].Message); Assert.AreEqual(null, resultsList[0].Key); Assert.AreEqual(null, resultsList[0].Tag); Assert.AreSame(instance1, resultsList[0].Target); Assert.AreEqual("PropertyInReferencedObject", resultsList[1].Message); Assert.AreEqual("PropertyInReferencedObject", resultsList[1].Key); Assert.AreEqual(null, resultsList[1].Tag); Assert.AreSame(instance1, resultsList[1].Target); Assert.AreEqual("DerivedReferencedObject", resultsList[2].Message); Assert.AreEqual(null, resultsList[2].Key); Assert.AreEqual(null, resultsList[2].Tag); Assert.AreSame(instance2, resultsList[2].Target); Assert.AreEqual("PropertyInDerivedReferencedObject", resultsList[3].Message); Assert.AreEqual("PropertyInDerivedReferencedObject", resultsList[3].Key); Assert.AreEqual(null, resultsList[3].Tag); Assert.AreSame(instance2, resultsList[3].Target); Assert.AreEqual("PropertyInReferencedObject", resultsList[4].Message); Assert.AreEqual("PropertyInReferencedObject", resultsList[4].Key); Assert.AreEqual(null, resultsList[4].Tag); Assert.AreSame(instance2, resultsList[4].Target); Assert.AreEqual("PropertyInDerivedReferencedObject-DataAnnotations", resultsList[5].Message); Assert.AreEqual("PropertyInDerivedReferencedObject", resultsList[5].Key); Assert.AreEqual(null, resultsList[5].Tag); Assert.AreSame(instance2, resultsList[5].Target); }
public void ValidatesUsingTheRulesForTheBaseTypeIfNotValidatingTheActualType() { object instance1 = new ObjectCollectionValidatorFixtureReferencedTestClass(); object instance2 = new DerivedObjectCollectionValidatorFixtureReferencedTestClass(); object target = new object[] { instance1, instance2 }; Validator validator = new ObjectCollectionValidator(typeof(ObjectCollectionValidatorFixtureReferencedTestClass)); ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, this, "key", validationResults); // setting the currentTarget and the key Assert.IsFalse(validationResults.IsValid); IList <ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(4, resultsList.Count); Assert.AreEqual("ReferencedObject", resultsList[0].Message); Assert.AreEqual(null, resultsList[0].Key); Assert.AreEqual(null, resultsList[0].Tag); Assert.AreSame(instance1, resultsList[0].Target); Assert.AreEqual("PropertyInReferencedObject", resultsList[1].Message); Assert.AreEqual("PropertyInReferencedObject", resultsList[1].Key); Assert.AreEqual(null, resultsList[1].Tag); Assert.AreSame(instance1, resultsList[1].Target); Assert.AreEqual("ReferencedObject", resultsList[2].Message); Assert.AreEqual(null, resultsList[2].Key); Assert.AreEqual(null, resultsList[2].Tag); Assert.AreSame(instance2, resultsList[2].Target); Assert.AreEqual("PropertyInReferencedObject", resultsList[3].Message); Assert.AreEqual("PropertyInReferencedObject", resultsList[3].Key); Assert.AreEqual(null, resultsList[3].Tag); Assert.AreSame(instance2, resultsList[3].Target); }
public void ValidatesUsingTheRulesForTheActualTypeWithASpecifiedValidatorFactoryIfValidatingTheActualType() { // TODO - change to avoid relying on reflection order object instance1 = new ObjectCollectionValidatorFixtureReferencedTestClass(); object instance2 = new DerivedObjectCollectionValidatorFixtureReferencedTestClass(); object target = new object[] { instance1, instance2 }; Validator validator = new ObjectCollectionValidator(new AttributeValidatorFactory()); ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, this, "key", validationResults); // setting the currentTarget and the key Assert.IsFalse(validationResults.IsValid); IList<ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(5, resultsList.Count); Assert.AreEqual("ReferencedObject", resultsList[0].Message); Assert.AreEqual(null, resultsList[0].Key); Assert.AreEqual(null, resultsList[0].Tag); Assert.AreSame(instance1, resultsList[0].Target); Assert.AreEqual("PropertyInReferencedObject", resultsList[1].Message); Assert.AreEqual("PropertyInReferencedObject", resultsList[1].Key); Assert.AreEqual(null, resultsList[1].Tag); Assert.AreSame(instance1, resultsList[1].Target); Assert.AreEqual("DerivedReferencedObject", resultsList[2].Message); Assert.AreEqual(null, resultsList[2].Key); Assert.AreEqual(null, resultsList[2].Tag); Assert.AreSame(instance2, resultsList[2].Target); Assert.AreEqual("PropertyInDerivedReferencedObject", resultsList[3].Message); Assert.AreEqual("PropertyInDerivedReferencedObject", resultsList[3].Key); Assert.AreEqual(null, resultsList[3].Tag); Assert.AreSame(instance2, resultsList[3].Target); Assert.AreEqual("PropertyInReferencedObject", resultsList[4].Message); Assert.AreEqual("PropertyInReferencedObject", resultsList[4].Key); Assert.AreEqual(null, resultsList[4].Tag); Assert.AreSame(instance2, resultsList[4].Target); }
public void ValidatesUsingTheRulesForTheBaseTypeIfNotValidatingTheActualType() { object instance1 = new ObjectCollectionValidatorFixtureReferencedTestClass(); object instance2 = new DerivedObjectCollectionValidatorFixtureReferencedTestClass(); object target = new object[] { instance1, instance2 }; Validator validator = new ObjectCollectionValidator(typeof(ObjectCollectionValidatorFixtureReferencedTestClass)); ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, this, "key", validationResults); // setting the currentTarget and the key Assert.IsFalse(validationResults.IsValid); IList<ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(4, resultsList.Count); Assert.AreEqual("ReferencedObject", resultsList[0].Message); Assert.AreEqual(null, resultsList[0].Key); Assert.AreEqual(null, resultsList[0].Tag); Assert.AreSame(instance1, resultsList[0].Target); Assert.AreEqual("PropertyInReferencedObject", resultsList[1].Message); Assert.AreEqual("PropertyInReferencedObject", resultsList[1].Key); Assert.AreEqual(null, resultsList[1].Tag); Assert.AreSame(instance1, resultsList[1].Target); Assert.AreEqual("ReferencedObject", resultsList[2].Message); Assert.AreEqual(null, resultsList[2].Key); Assert.AreEqual(null, resultsList[2].Tag); Assert.AreSame(instance2, resultsList[2].Target); Assert.AreEqual("PropertyInReferencedObject", resultsList[3].Message); Assert.AreEqual("PropertyInReferencedObject", resultsList[3].Key); Assert.AreEqual(null, resultsList[3].Tag); Assert.AreSame(instance2, resultsList[3].Target); }