예제 #1
0
        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."));
        }
예제 #2
0
        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"));
        }
예제 #3
0
        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"));
        }
예제 #4
0
        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"));
        }
예제 #5
0
        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"));
        }