public void GreaterOrEqual_ValuesAreDates_CompareToCurrentDate_Val3NotGreaterThanCurrentDate_ExpectFalse()
        {
            //Arrange
            GreaterOrEqualModelOfDates model = new GreaterOrEqualModelOfDates {
                Val3 = new DateTime(1990, 1, 1)
            };
            //Act
            bool isValid = model.PropertyIsValid("Val3");

            //Assert
            isValid.ShouldBeFalse();
        }
        public void GreaterOrEqual_ValuesAreDates_CompareToCurrentDate_Val3GreaterThanCurrentDate_ExpectTrue()
        {
            //Arrange
            GreaterOrEqualModelOfDates model = new GreaterOrEqualModelOfDates {
                Val3 = DateTime.Now.AddDays(1)
            };
            //Act
            bool isValid = model.PropertyIsValid("Val3");

            //Assert
            isValid.ShouldBeTrue();
        }
        public void GreaterOrEqual_ValuesAreDates_CompareToCurrentDate_Val3EqualCurrentDate_ExpectTrue()
        {
            //Arrange
            GreaterOrEqualModelOfDates model = new GreaterOrEqualModelOfDates {
                Val3 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)
            };
            //Act
            bool isValid = model.PropertyIsValid("Val1");

            //Assert
            isValid.ShouldBeTrue();
        }
        public void GreaterOrEqual_ValuesAreDates_SpecificValue_Val1NotGreaterThanSpecificValue_ExpectFalse()
        {
            //Arrange
            GreaterOrEqualModelOfDates model = new GreaterOrEqualModelOfDates {
                Val1 = new DateTime(1990, 1, 1)
            };
            //Act
            bool isValid = model.PropertyIsValid("Val1");

            //Assert
            isValid.ShouldBeFalse();
        }
        public void GreaterOrEqual_ValuesAreDates_SpecificValue_Val1EqualSpecificValue_ExpectTrue()
        {
            //Arrange
            GreaterOrEqualModelOfDates model = new GreaterOrEqualModelOfDates {
                Val1 = new DateTime(2010, 12, 31)
            };
            //Act
            bool isValid = model.PropertyIsValid("Val1");

            //Assert
            isValid.ShouldBeTrue();
        }
        public void GreaterOrEqual_ValuesAreDates_Val1GreaterOrEqualThanVal2_ExpectFalse()
        {
            //Arrange
            GreaterOrEqualModelOfDates model = new GreaterOrEqualModelOfDates {
                Val1 = DateTime.Now, Val2 = DateTime.Now.AddDays(-1)
            };
            //Act
            bool isValid = model.PropertyIsValid("Val2");

            //Assert
            isValid.ShouldBeFalse();
        }
        public void GreaterOrEqual_ValuesAreDates_Val1IsNullAndVal2IsNotNull_ExpectTrue()
        {
            //Arrange
            GreaterOrEqualModelOfDates model = new GreaterOrEqualModelOfDates {
                Val1 = null, Val2 = DateTime.Now
            };
            //Act
            bool isValid = model.PropertyIsValid("Val2");

            //Assert
            isValid.ShouldBeTrue();
        }
        public void GreaterOrEqual_ValuesAreDates_Val2GreaterOrEqualsVal1_ExpectTrue()
        {
            //Arrange
            DateTime date = DateTime.Now.Date;
            GreaterOrEqualModelOfDates model = new GreaterOrEqualModelOfDates {
                Val1 = date, Val2 = date.AddDays(1)
            };
            //Act
            bool isValid = model.PropertyIsValid("Val2");

            //Assert
            isValid.ShouldBeTrue();
        }