public void CanAddANewValidationRule() { var ruleSet = new StringTestSubjectRules(); var rule = new ValidationRule <StringTestSubject>(x => !String.IsNullOrEmpty(x.TestString1), "Rule"); ruleSet.AddRule(rule); }
public void DoesAddingANewValidationRuleWithExpressionIncrementListCount() { var ruleSet = new StringTestSubjectRules(); var count = ruleSet.ValidationRules.Count; var newCount = ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), "Rule"); Assert.AreEqual(count + 1, newCount); }
public void CanStringRequiredBeEnforcedWithMessage() { var rules = new StringTestSubjectRules(); var result = rules.Validate(new StringTestSubject { }); Assert.IsTrue(result.Errors.Any(e => e.Name == "TestString2_IsRequired")); }
public void CanStringRequiredBeEnforcedWithDefaultMessage() { var rules = new StringTestSubjectRules(); var result = rules.Validate(new StringTestSubject { }); Assert.IsTrue(result.Errors.Any(e => e.Name == "TestString3_IsRequired" && e.Message == "The 'TestString3' property is required.")); }
public void DoesAddingANewValidationRuleWithExpressionAndErrorMessageFuncIncrementListCount() { var ruleSet = new StringTestSubjectRules(); var count = ruleSet.ValidationRules.Count; var newCount = ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), "Rule", m => "First name is required."); Assert.AreEqual(count + 1, newCount); }
public void InvalidEntityValidatesBySpecificationAsInvalid() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), "TestString1Required."); var testSubject = new StringTestSubject(); var result = ruleSet.Validate(testSubject); Assert.IsFalse(result.Valid); }
public void ValidEntityValidatesBySpecificationAsValid() { var ruleSet = new StringTestSubjectRules(); var testSubject = new StringTestSubject { TestString1 = "Bob" }; var result = ruleSet.Validate(testSubject); Assert.IsTrue(result.Valid); }
public void CanValidateEntitySpecifications() { var ruleSet = new StringTestSubjectRules(); var testSubject = new StringTestSubject { TestString1 = "Bob" }; var result = ruleSet.Validate(testSubject); Assert.IsNotNull(result); }
public void CanStringHaveMinimumLengthWithDefaultMessage() { var rules = new StringTestSubjectRules(); var testSubject = new StringTestSubject { TestString1 = "Alvin", TestString2 = "F", TestString3 = "S" }; var result = rules.Validate(testSubject); Assert.IsTrue(result.Errors.Any(e => e.Name == "TestString3_MinimumLength" && e.Message == "The 'TestString3' property must be at least 3 characters long.")); }
public void CanStringHaveMinimumLengthWithMessage() { var rules = new StringTestSubjectRules(); var testSubject = new StringTestSubject { TestString1 = "Alvin", TestString2 = "F", TestString3 = "S" }; var result = rules.Validate(testSubject); Assert.IsFalse(result.Errors.Any(e => e.Name == "TestString1_MinimumLength")); Assert.IsTrue(result.Errors.Any(e => e.Name == "TestString2_MinimumLength")); }
public void CanStringHaveMaximumLengthWithMessageLambda() { var rules = new StringTestSubjectRules(); var testSubject = new StringTestSubject { TestString1 = "Alexandria", TestString2 = "Fred", TestString3 = "Smith" }; var result = rules.Validate(testSubject); Assert.IsTrue(result.Errors.Any(e => e.Name == "TestString1_MaximumLength")); Assert.IsFalse(result.Errors.Any(e => e.Name == "TestString2_MaximumLength")); }
public void ValidatedEntityCanGetErrorsReported() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), "TestString1Required."); var testSubject = new StringTestSubject { TestString1 = "Bob" }; ruleSet.Validate(testSubject); Assert.IsNotNull(testSubject.ValidationErrors); }
public void ValidatedEntityReportsErrors() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString2), "TestString2Required."); var testSubject = new StringTestSubject { TestString1 = "Bob" }; ruleSet.Validate(testSubject); Assert.AreEqual(1, testSubject.ValidationErrors.Count); }
public void ValidationResultContainsPointerToEntityThatFailedValidation() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), "TestString1Required."); var testSubject = new StringTestSubject { TestString1 = "Bob" }; var result = ruleSet.Validate(testSubject); Assert.AreEqual(testSubject, result.Entity); }
public void CanStringHavePatternWithDefaultMessage() { var rules = new StringTestSubjectRules(); var testSubject = new StringTestSubject { TestString1 = "Jim", TestString2 = "Klein", TestString3 = "Smith", TestString6 = "aaa" }; var result = rules.Validate(testSubject); Assert.IsTrue(result.Errors.Any(e => e.Name == "TestString6_MatchesPattern" && e.Message == @"The 'TestString6' property must match the pattern '^\w{7}$'.")); testSubject.TestString6 = "44976AZ"; result = rules.Validate(testSubject); Assert.IsFalse(result.Errors.Any(e => e.Name == "TestString6_MatchesPattern")); }
public void CanStringHavePatternWithMessage() { var rules = new StringTestSubjectRules(); var testSubject = new StringTestSubject { TestString1 = "Jim", TestString2 = "Klein", TestString3 = "Smith", TestString5 = "aaa" }; var result = rules.Validate(testSubject); Assert.IsTrue(result.Errors.Any(e => e.Name == "TestString5_MatchesPattern")); testSubject.TestString5 = "123-45-6789"; result = rules.Validate(testSubject); Assert.IsFalse(result.Errors.Any(e => e.Name == "TestString5_MatchesPattern")); }
public void CanAddANewValidationRuleWithExpression() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), "Rule"); }
public void AddingValidationRuleWithExpressionAndErrorMessageFuncRequiresName() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), null, m => "First name is required."); }
public void AddingValidationRuleWithExpressionAndErrorMessageFuncRequiresErrorMessage() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), "Rule", (Func <StringTestSubject, string>)null); }
public void CanAddANewValidationRuleWithExpressionAndErrorMessage() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), "Rule", "First name is required."); }
public void AddingValidationRuleWithExpressionRequiresName() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(x => !String.IsNullOrEmpty(x.TestString1), null); }
public void AddingValidationRuleWithExpressionRequiresRule() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(null, "Rule"); }
public void AddingValidationRuleWithExpressionAndErrorMessageFuncRequiresRule() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(null, "Rule", m => "First name is required."); }
public void AddingValidationRuleRequiresRule() { var ruleSet = new StringTestSubjectRules(); ruleSet.AddRule(null); }