예제 #1
0
 public void CustomerValidationRule_ShouldPassWhenNameIsNotNull()
 {
     _validator.ShouldNotHaveValidationErrorFor(
         customer => customer.Name,
         new Customer()
     {
         Name = "Test"
     }
         );
 }
예제 #2
0
        public void Validate__EmailAddress_is_correct__Should_be_valid([Values(
                                                                            "*****@*****.**",
                                                                            "*****@*****.**",
                                                                            "*****@*****.**",
                                                                            "*****@*****.**",
                                                                            "*****@*****.**",
                                                                            "*****@*****.**",
                                                                            "*****@*****.**",
                                                                            "*****@*****.**",
                                                                            "admin@mailserver1",
                                                                            "*****@*****.**",
                                                                            "\" \"@example.org",
                                                                            "\"john..doe\"@example.org")] string email)
        {
            var validCustomer = new Customer {
                EmailAddress = email
            };

            _validator.ShouldNotHaveValidationErrorFor(x => x.EmailAddress, validCustomer);
        }
예제 #3
0
        public void UnlessAppliesToAllContraintsForSamePropertyUpToUnless()
        {
            var badCustomer = new Customer {
                Age = -5
            };

            var validator = new CustomerValidator();

            validator.ShouldHaveValidationErrorFor(c => c.Age, badCustomer);
            validator.ShouldNotHaveValidationErrorFor(c => c.Address.HouseNumber, badCustomer);
            badCustomer.Address = new Address {
                HouseNumber = -1
            };
            validator.ShouldHaveValidationErrorFor(c => c.Address.HouseNumber, badCustomer);

            var goodCustomer = new Customer {
                Age = -5, Name = "Christian", Address = new Address {
                    HouseNumber = -1
                }
            };

            validator.ShouldNotHaveValidationErrorFor(c => c.Age, goodCustomer);
            validator.ShouldNotHaveValidationErrorFor(c => c.Address.HouseNumber, goodCustomer);
        }
예제 #4
0
        public void WhenAppliesToAllContraintsForSamePropertyUpToUnless()
        {
            var badCustomer = new Customer {
                Address = new Address {
                    Postcode = "BR6"
                }
            };

            var validator = new CustomerValidator();

            validator.ShouldHaveValidationErrorFor(c => c.Address.Postcode, badCustomer);

            var goodCustomer = new Customer();

            validator.ShouldNotHaveValidationErrorFor(c => c.Address.Postcode, goodCustomer);
        }
예제 #5
0
        public void UnlessDoesNotApplyToContraintsAfterUnless()
        {
            var badCustomer = new Customer {
                Name = "", Address = new Address()
            };

            var validator = new CustomerValidator();

            validator.ShouldHaveValidationErrorFor(c => c.Name, badCustomer);

            badCustomer = new Customer {
                Name = "Therese"
            };
            validator.ShouldHaveValidationErrorFor(c => c.Name, badCustomer);

            var goodCustomer = new Customer {
                Name = ""
            };

            validator.ShouldNotHaveValidationErrorFor(c => c.Name, goodCustomer);
        }
 public void Should_not_have_error_when_date_of_birth_is_specified()
 {
     validator = new CustomerValidator();
     validator.ShouldNotHaveValidationErrorFor(customer => customer.DateOfBirth, DateTime.Parse("20-12-2000"));
 }
 public void Should_not_have_error_when_middle_name_is_specified()
 {
     validator = new CustomerValidator();
     validator.ShouldNotHaveValidationErrorFor(customer => customer.MiddleName, "Matt");
 }
 public void Should_not_have_error_when_middle_name_is_null_or_empty()
 {
     validator = new CustomerValidator();
     validator.ShouldNotHaveValidationErrorFor(customer => customer.MiddleName, null as string);
     validator.ShouldHaveValidationErrorFor(customer => customer.FirstName, String.Empty);
 }
 public void Should_not_have_error_when_first_name_is_specified()
 {
     validator = new CustomerValidator();
     validator.ShouldNotHaveValidationErrorFor(customer => customer.LastName, "Jeremy");
 }
예제 #10
0
        public void ShouldNotHaveValidationErrorFor_WithRuleSetAndContext_ShouldNotThrowException()
        {
            var sut = new CustomerValidator();

            sut.ShouldNotHaveValidationErrorFor(new Customer() { Name = "Name", Age = 22 }, "GreaterThan21", new { }); 
        }
예제 #11
0
        public void ShouldNotHaveValidationErrorFor_WithRuleSetAnContext_ShouldThrowException()
        {
            var sut = new CustomerValidator();

            Should.Throw<ValidationException>(() => { sut.ShouldNotHaveValidationErrorFor(new Customer(), "GreaterThan21", new { }); });
        }
예제 #12
0
        public void ShouldNotHaveValidationErrorFor_WithContext_ShouldNotThrowException()
        {
            var sut = new CustomerValidator();

            sut.ShouldNotHaveValidationErrorFor(new Customer() { Name = "Name", Age = 20 }, new { }); 
        }
예제 #13
0
        public void ShouldNotHaveValidationErrorFor_With_ShouldThrowException()
        {
            var sut = new CustomerValidator();

            Should.Throw<ValidationException>(() => { sut.ShouldNotHaveValidationErrorFor(new Customer() ); });
        }
예제 #14
0
 public void CustomerValidator_WhenUsernameIsNotNull_ShouldNotHaveError()
 {
     validator
     .ShouldNotHaveValidationErrorFor(customer => customer.Username, "Grazyna");
 }