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); }
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); }
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); }
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); }
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_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_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_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); } }
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); } }
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); }
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); }
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); }
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); }
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); }
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); } }