public void ShouldFormatCustomMessageWhenValidationFailAgain()
        {
            var validator = new ValidatesPresenceOf();
            validator.Message = "{0} can't be empty";
            var dummy = new VeryDummyClass();

            validator.Validate(dummy, dummy.GetType().GetProperty("DummyText"));
            validator.Validate(dummy, dummy.GetType().GetProperty("DummyProperty"));

            Assert.AreEqual("DummyProperty can't be empty", validator.Message);
        }
        public void ShouldFailValidationWithMethodName()
        {
            var validator = new CustomValidator();
            validator.CustomMethodName = "FailMethod";
            var dummy = new VeryDummyClass();
            var property = dummy.GetType().GetProperty("DummyText");

            dummy.DummyText = "fail";
            Assert.IsFalse(validator.Validate(dummy, property));
        }
        public void ShouldEmptyMessageWhenValidationSucceed()
        {
            var validator = new ValidatesPresenceOf();
            var dummy = new VeryDummyClass();
            var property = dummy.GetType().GetProperty("DummyText");
            validator.Validate(dummy, property);
            dummy.DummyText = "dummy dummy";
            validator.Validate(dummy, property);

            Assert.IsNullOrEmpty(validator.Message);
        }
        public void ShouldEmptyMessageWhenValidationSucceed()
        {
            var validator = new CustomValidator();
            validator.CustomMethod = FailMethod;
            var dummy = new VeryDummyClass();
            var property = dummy.GetType().GetProperty("DummyText");
            validator.Validate(dummy, property);
            validator.CustomMethod = SuccessMethod;
            validator.Validate(dummy, property);

            Assert.IsNullOrEmpty(validator.Message);
        }
        public void ShouldDoNothingWhenValidationFail()
        {
            var validator = new CustomValidator();
            validator.CustomMethod = FailMethod;
            var dummy = new VeryDummyClass();
            dummy.DummyText = "fail";
            var property = dummy.GetType().GetProperty("DummyText");

            validator.Validate(dummy, property);

            Assert.IsNullOrEmpty(validator.Message);
        }
        public void ShouldFailStringValidation()
        {
            var validator = new ValidatesPresenceOf();
            var dummy = new VeryDummyClass();
            var property = dummy.GetType().GetProperty("DummyText");

            dummy.DummyText = null;
            Assert.IsFalse(validator.Validate(dummy, property));

            dummy.DummyText = string.Empty;
            Assert.IsFalse(validator.Validate(dummy, property));
        }
        public void ShouldFormatCustomMessageWhenValidationFail()
        {
            var validator = new CustomValidator();
            validator.CustomMethod = FailMethod;
            validator.Message = "{0} can't be empty";
            var dummy = new VeryDummyClass();
            var property = dummy.GetType().GetProperty("DummyText");

            validator.Validate(dummy, property);

            Assert.AreEqual("DummyText can't be empty", validator.Message);
        }
        public void ShouldValidateWithMethodName()
        {
            var validator = new CustomValidator();
            validator.CustomMethodName = "SuccessMethod";
            var dummy = new VeryDummyClass();
            var property = dummy.GetType().GetProperty("DummyText");
            dummy.DummyText = "Dummy dummy";

            Assert.IsTrue(validator.Validate(dummy, property));
        }
        public void ShouldFormatMessageWhenValidationFailAgain()
        {
            var validator = new CustomValidator();
            validator.Message = "{0} can't be blank";
            validator.CustomMethod = FailMethod;
            var dummy = new VeryDummyClass();

            validator.Validate(dummy, dummy.GetType().GetProperty("DummyText"));
            validator.Validate(dummy, dummy.GetType().GetProperty("DummyProperty"));

            Assert.AreEqual("DummyProperty can't be blank", validator.Message);
        }
        public void ShouldFormatMessageWhenValidationFail()
        {
            var validator = new ValidatesPresenceOf();
            var dummy = new VeryDummyClass();
            var property = dummy.GetType().GetProperty("DummyText");

            validator.Validate(dummy, property);

            Assert.AreEqual("DummyText can't be blank", validator.Message);
        }
        public void ShouldValidateString()
        {
            var validator = new ValidatesPresenceOf();
            var dummy = new VeryDummyClass();
            var property = dummy.GetType().GetProperty("DummyText");
            dummy.DummyText = "Dummy dummy";

            Assert.IsTrue(validator.Validate(dummy, property));
        }