public void Can_get_validation_errors_object_for_model()
        {
            var value = new MockInvalidTestObject {Name = "Test", Email = "*****@*****.**"};

            var validator = new ActiveRecordModelValidator();
            var errors = validator.GetValidationErrors(value);

            Assert.IsNotNull(errors);
        }
        public void Invalid_property_count_matches_for_invalid_model()
        {
            var value = new MockInvalidTestObject {Name = null, Email = "invalid"};

            var validator = new ActiveRecordModelValidator();
            var errors = validator.GetValidationErrors(value);

            Assert.AreEqual(2, errors.Count);
        }
        public void Can_get_list_of_errors_for_specific_property()
        {
            var value = new MockInvalidTestObject {Name = null, Email = "invalid"};

            var errors = new ActiveRecordModelValidator().GetValidationErrors(value);

            var propErrors = errors.ErrorsForProperty("Name");

            Assert.IsNotNull(propErrors);
            Assert.AreEqual(1, propErrors.Count);
            Assert.AreEqual(propErrors[0].PropertyName, "Name");
        }