public void Given_I_Want_To_Validate_A_String_IsDate_And_I_Have_Passed_Invalid_Values_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            List<String> dateList = new List<string>()
                {
                    "1/32/2013",
                    "0/1/2013",
                    "2/29/2013",
                    "test",
                    "32-January-2013",
                    "1-Februarie-2013"
                };

            foreach (var currentItem in dateList)
            {
                //Arrange
                var test = new Support.TestItem() { TestString = currentItem };
                var validator = new ConciseValidation.Validator<Support.TestItem>(test);

                //Act
                validator.ValidateField(item => item.TestString).IsDate();

                //Assert
                Assert.AreEqual(1, validator.ValidatorErrors.Count);
                Assert.AreEqual("TestString", validator.ValidatorErrors[0].Field);
                Assert.AreEqual("TestString must be a valid date.", validator.ValidatorErrors[0].Message);
            }
        }
        public void Given_I_Chain_Validation_And_All_Conditions_Pass_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem() { TestString = "Test" };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestString).NotNull().MaxLength(4);

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
Пример #3
0
        public void Given_I_Pass_A_Date_That_Is_At_The_Min_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem() { TestDateTime = new System.DateTime(2001, 11, 11) };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField<DateTime>(item => item.TestDateTime).MinDate(new System.DateTime(2001, 11, 11));

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
        public void Given_I_Chain_Validation_And_The_Second_Condition_Fails_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem(){ TestString="Test"};
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestString).NotNull().MaxLength(3);

            //Assert
            Assert.AreEqual(1, validator.ValidatorErrors.Count);
            Assert.AreEqual("TestString", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("TestString has a maximum length of 3.", validator.ValidatorErrors[0].Message);
        }
Пример #5
0
        public void Given_I_Pass_A_Date_That_Is_Before_The_Min_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem() { TestDateTime = new System.DateTime(2001, 11, 11) };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField<DateTime>(item => item.TestDateTime).MinDate(new System.DateTime(2013, 1, 1));

            //Assert
            Assert.AreEqual(1, validator.ValidatorErrors.Count);
            Assert.AreEqual("TestDateTime", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("TestDateTime has a minimum date of 01/01/2013.", validator.ValidatorErrors[0].Message);
        }
Пример #6
0
        public void Given_I_Pass_A_Date_That_Is_Beyond_The_Max_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem() { TestDateTime = new System.DateTime(2001,11,11) };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestDateTime).MaxDate(new System.DateTime(1992, 12, 24));

            //Assert
            Assert.AreEqual(1, validator.ValidatorErrors.Count);
            Assert.AreEqual("TestDateTime", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("TestDateTime has a maximum date of 12/24/1992.", validator.ValidatorErrors[0].Message);
        }
        public void Given_I_Pass_A_Value_And_It_Is_More_Than_The_Min_Then_It_Will_Return_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestInt = 17
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestInt).MinValue(16);

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
        public void Given_I_Pass_A_Value_And_It_Is_Less_Than_The_Max_Then_It_Will_Return_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestDouble = 17.3
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestDouble).MaxValue(20.2);

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
        public void Given_I_Want_To_Validate_An_Int_By_A_Predicate_Function_And_The_String_Passes_Then_I_Will_Be_Returned_The_Expected_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestInt = 18
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestInt)
                     .ValidateByFunction(x => CheckInt(x.FieldValue), "The number cannot be 17.");

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
Пример #10
0
        public void Given_I_Pass_A_Value_And_It_Is_Less_Than_The_Min_Then_It_Will_Return_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestDouble = 17.3
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestDouble).MinValue(20.2);

            //Assert
            Assert.AreEqual(1, validator.ValidatorErrors.Count);
            Assert.AreEqual("TestDouble", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("TestDouble has a minimum value of 20.2.", validator.ValidatorErrors[0].Message);
        }
        public void Given_I_Pass_A_Value_And_It_Is_More_Than_The_Max_Then_It_Will_Return_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestInt = 17
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestInt).MaxValue(16);

            //Assert
            Assert.AreEqual(1, validator.ValidatorErrors.Count);
            Assert.AreEqual("TestInt", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("TestInt has a maximum value of 16.", validator.ValidatorErrors[0].Message);
        }
        public void Given_I_Have_A_String_Value_And_I_Pass_The_Property_Name_Then_It_Should_Process_Correctly()
        {
            //Arrange
            var test = new Support.TestItem() { TestString = "aaaa" };
            var validatorPass = new ConciseValidation.Validator<Support.TestItem>(test);
            var validatorFail = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validatorFail.ValidateField<string>("TestString").MaxLength(3,"Test Error Message");
            validatorPass.ValidateField<string>("TestString").NotNull();

            //Assert
            Assert.AreEqual(1, validatorFail.ValidatorErrors.Count);
            Assert.AreEqual("TestString", validatorFail.ValidatorErrors[0].Field);
            Assert.AreEqual("Test Error Message", validatorFail.ValidatorErrors[0].Message);

            Assert.AreEqual(0, validatorPass.ValidatorErrors.Count);
        }
        public void Given_I_Have_A_Int_Value_And_I_Pass_The_Property_Name_Then_It_Should_Process_Correctly()
        {
            //Arrange
            var test = new Support.TestItem() { TestInt = 17 };
            var validatorPass = new ConciseValidation.Validator<Support.TestItem>(test);
            var validatorFail = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validatorFail.ValidateField<int>("TestInt").MaxValue(3, "Test Error Message");
            validatorPass.ValidateField<int>("TestInt").MinValue(3);

            //Assert
            Assert.AreEqual(1, validatorFail.ValidatorErrors.Count);
            Assert.AreEqual("TestInt", validatorFail.ValidatorErrors[0].Field);
            Assert.AreEqual("Test Error Message", validatorFail.ValidatorErrors[0].Message);

            Assert.AreEqual(0, validatorPass.ValidatorErrors.Count);
        }
        public void Given_I_Want_To_Validate_An_Int_By_An_Inline_Function_And_The_String_Fails_Then_I_Will_Be_Returned_The_Expected_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestInt = 17
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestInt)
                     .ValidateByFunction(x => x.FieldValue != 17, "The number cannot be 17.");

            //Assert
            Assert.AreEqual(1, validator.ValidatorErrors.Count);
            Assert.AreEqual("TestInt", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("The number cannot be 17.", validator.ValidatorErrors[0].Message);
        }
        public void Given_I_Have_A_DateTime_Value_And_I_Pass_The_Property_Name_Then_It_Should_Process_Correctly()
        {
            //Arrange
            var test = new Support.TestItem() { TestDateTime = new DateTime(2015,1,2) };
            var validatorPass = new ConciseValidation.Validator<Support.TestItem>(test);
            var validatorFail = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validatorFail.ValidateField<DateTime>("TestDateTime").MaxDate(new DateTime(2015, 1, 1), "Test Error Message");
            validatorPass.ValidateField<DateTime>("TestDateTime").MaxDate(new DateTime(2015, 1, 3));

            //Assert
            Assert.AreEqual(1, validatorFail.ValidatorErrors.Count);
            Assert.AreEqual("TestDateTime", validatorFail.ValidatorErrors[0].Field);
            Assert.AreEqual("Test Error Message", validatorFail.ValidatorErrors[0].Message);

            Assert.AreEqual(0, validatorPass.ValidatorErrors.Count);
        }
        public void Given_I_Pass_In_An_Expando_Object_Then_Things_Should_Behave_As_Expected()
        {
            //Arrange
            dynamic test = new ExpandoObject();
            test.TestString = "Bubba";

            var validatorPass = new ConciseValidation.Validator<ExpandoObject>(test);
            var validatorFail = new ConciseValidation.Validator<ExpandoObject>(test);

            //Act
            validatorFail.ValidateField<string>("TestString").MaxLength(3, "Test Error Message");
            validatorPass.ValidateField<string>("TestString").NotNull();

            //Assert
            Assert.AreEqual(1, validatorFail.ValidatorErrors.Count);
            Assert.AreEqual("TestString", validatorFail.ValidatorErrors[0].Field);
            Assert.AreEqual("Test Error Message", validatorFail.ValidatorErrors[0].Message);

            Assert.AreEqual(0, validatorPass.ValidatorErrors.Count);
        }
        public void Given_I_Pass_A_Valid_Date_And_I_Test_For_Minimum_I_Should_Get_The_Proper_Response()
        {
            List<String> dateList = new List<string>()
                {
                    "1/1/2013",
                    "01/01/2013",
                    "1/1/13",
                    "01/01/13",
                    "2/29/2012",
                    "2/29/12",
                    "01-Jan-2013",
                    "1-Jan-2013",
                    "1-January-2013",
                    "01-January-2013",
                    "01-Jan-13",
                    "1-Jan-13",
                    "1-January-13",
                    "01-January-13",
                    "29-Feb-2012",
                    "29-February-2012",
                    "29-Feb-12",
                    "29-February-12"
                };

            foreach (var currentItem in dateList)
            {
                //Arrange
                var test = new Support.TestItem() { TestString = currentItem };
                var validator = new ConciseValidation.Validator<Support.TestItem>(test);

                //Act
                DateTime maxDate = new System.DateTime(2100, 1, 1);
                System.DateTime.TryParse(currentItem, out maxDate);
                validator.ValidateField(item => item.TestString).IsDateConvertToDate().MinDate(maxDate.AddDays(-1));

                //Assert
                Assert.AreEqual(0, validator.ValidatorErrors.Count);
            }
        }
Пример #18
0
        public void Given_I_Want_To_Validate_A_String_MatchEmail_And_I_Have_Passed_Valid_Values_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            List<String> emailList = new List<string>()
                {
                    "*****@*****.**",
                    "*****@*****.**",
                    "*****@*****.**",
                    "*****@*****.**",
                    "*****@*****.**",
                    "*****@*****.**",
                    "*****@*****.**",
                    "*****@*****.**"
                };

            foreach (var currentItem in emailList)
            {
                //Arrange
                var test = new Support.TestItem() { TestString = currentItem };
                var validator = new ConciseValidation.Validator<Support.TestItem>(test);

                //Act
                validator.ValidateField(item => item.TestString).MatchEmail();

                //Assert
                Assert.AreEqual(0, validator.ValidatorErrors.Count);
            }
        }
Пример #19
0
        public void Given_I_Want_To_Validate_A_String_MatchPhone_And_I_Have_Passed_Valid_Values_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            List<String> phoneList = new List<string>()
                {
                    "(614) 111-2222",
                    "614-111-2222"
                };

            foreach (var currentItem in phoneList)
            {
                //Arrange
                var test = new Support.TestItem() { TestString = currentItem };
                var validator = new ConciseValidation.Validator<Support.TestItem>(test);

                //Act
                validator.ValidateField(item => item.TestString).MatchPhone();

                //Assert
                Assert.AreEqual(0, validator.ValidatorErrors.Count);
            }
        }
        public void Given_I_Want_To_Validate_A_Date_By_An_Inline_Function_And_It_Fails_Then_I_Will_Be_Returned_The_Expected_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestDateTime = new System.DateTime(2001,11,11)
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestDateTime)
                     .ValidateByFunction(x => x.FieldValue == new System.DateTime(1992,12,24), "The Date is wrong.");

            //Assert
            Assert.AreEqual(1, validator.ValidatorErrors.Count);
            Assert.AreEqual("TestDateTime", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("The Date is wrong.", validator.ValidatorErrors[0].Message);
        }
Пример #21
0
        public void Given_I_Want_To_Validate_A_String_MaxLength_And_I_Have_Passed_An_Invalid_Value_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem() { TestString = "Test" };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestString).MaxLength(3);

            //Assert
            Assert.AreEqual(1, validator.ValidatorErrors.Count);
            Assert.AreEqual("TestString", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("TestString has a maximum length of 3.", validator.ValidatorErrors[0].Message);
        }
        public void Given_I_Want_To_Validate_A_String_By_A_Predicate_Function_And_The_String_Passes_Then_I_Will_Be_Returned_The_Expected_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestString = "Mikenna"
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestString)
                     .ValidateByFunction(x => CheckFirstName(x.FieldValue), "The Name Cannot Be Bob.");

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
        public void Given_I_Want_To_Validate_A_Date_By_A_Predicate_Function_And_It_Passes_Then_I_Will_Be_Returned_The_Expected_Response()
        {
            //Arrange
            var test = new Support.TestItem()
            {
                TestDateTime = new System.DateTime(1992, 12, 24)
            };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestDateTime)
                     .ValidateByFunction(x => CheckDate(x.FieldValue), "The Date is wrong.");

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
Пример #24
0
        public void Given_I_Want_To_Validate_A_String_MinLength_And_I_Have_Passed_A_Valid_Value_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem() { TestString = "Test" };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestString).MinLength(3, "Test Error Message");

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
Пример #25
0
        public void Given_I_Want_To_Validate_A_String_NotNull_With_A_Custom_Error_Message_And_I_Have_Passed_A_Null_Value_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            //Arrange
            var test = new Support.TestItem();
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestString).NotNull("Test Error Message");

            //Assert
            Assert.AreEqual(1,validator.ValidatorErrors.Count);
            Assert.AreEqual("TestString", validator.ValidatorErrors[0].Field);
            Assert.AreEqual("Test Error Message", validator.ValidatorErrors[0].Message);
        }
Пример #26
0
        public void Given_I_Want_To_Validate_A_String_IsNumeric_And_It_Is_Numeric_Then_Return_Proper_response()
        {
            //Arrange
            var test = new Support.TestItem() { TestString = "3.14" };
            var validator = new ConciseValidation.Validator<Support.TestItem>(test);

            //Act
            validator.ValidateField(item => item.TestString).IsNumber();

            //Assert
            Assert.AreEqual(0, validator.ValidatorErrors.Count);
        }
Пример #27
0
        public void Given_I_Want_To_Validate_A_String_IsDate_And_I_Have_Passed_Valid_Values_Then_I_Should_Be_Returned_The_Proper_Response()
        {
            List<String> dateList = new List<string>()
                {
                    "1/1/2013",
                    "01/01/2013",
                    "1/1/13",
                    "01/01/13",
                    "2/29/2012",
                    "2/29/12",
                    "01-Jan-2013",
                    "1-Jan-2013",
                    "1-January-2013",
                    "01-January-2013",
                    "01-Jan-13",
                    "1-Jan-13",
                    "1-January-13",
                    "01-January-13",
                    "29-Feb-2012",
                    "29-February-2012",
                    "29-Feb-12",
                    "29-February-12"
                };

            foreach (var currentItem in dateList)
            {
                //Arrange
                var test = new Support.TestItem() { TestString = currentItem };
                var validator = new ConciseValidation.Validator<Support.TestItem>(test);

                //Act
                validator.ValidateField(item => item.TestString).IsDate();

                //Assert
                Assert.AreEqual(0, validator.ValidatorErrors.Count);
            }
        }