public void Validation_Object_Invalid_Collection_Errors()
        {
            ValTestClassWithCollection entity = new ValTestClassWithCollection();

            entity.Strings.Add("Invalid");

            ValidationContext       validationContext = new ValidationContext(entity, null, null);
            List <ValidationResult> validationResults = new List <ValidationResult>();

            bool result = ValidationUtilities.TryValidateObject(entity, validationContext, validationResults);

            Assert.IsFalse(result,
                           "Validation should fail.");
            Assert.AreEqual(1, validationResults.Count(),
                            "There should be 1 validation error");

            Assert.AreEqual("Value contains an invalid string", validationResults[0].ErrorMessage,
                            "The validation error should concern invalid string");
            Assert.AreEqual(1, validationResults[0].MemberNames.Count(),
                            "The validation error should be for a single member");
            Assert.AreEqual("Strings", validationResults[0].MemberNames.First(),
                            "The validation error should be for Strings");
        }
        public void Validation_Object_Invalid_Collection_Errors()
        {
            ValTestClassWithCollection entity = new ValTestClassWithCollection();
            entity.Strings.Add("Invalid");

            ValidationContext validationContext = new ValidationContext(entity, null, null);
            List<ValidationResult> validationResults = new List<ValidationResult>();

            bool result = ValidationUtilities.TryValidateObject(entity, validationContext, validationResults);
            Assert.IsFalse(result,
                "Validation should fail.");
            Assert.AreEqual(1, validationResults.Count(),
                "There should be 1 validation error");

            Assert.AreEqual("Value contains an invalid string", validationResults[0].ErrorMessage,
                "The validation error should concern invalid string");
            Assert.AreEqual(1, validationResults[0].MemberNames.Count(),
                "The validation error should be for a single member");
            Assert.AreEqual("Strings", validationResults[0].MemberNames.First(),
                "The validation error should be for Strings");
        }