public void ValidateBoolEmptyObject()
        {
            var obj       = new ChekedClass();
            var validator = GetRules();

            Assert.AreEqual(validator.ValidateBool(obj), false);
        }
        public void ValidateResultsEmptyObject()
        {
            var obj       = new ChekedClass();
            var validator = GetRules();

            var sdf = validator.ValidateResults(obj);

            Assert.AreEqual(validator.ValidateResults(obj).Count(), 5);
        }
        public void ValidateBoolObjectWithOneWrongParam()
        {
            var obj = new ChekedClass()
            {
                Id = 213, isValue = true, Name = "Name"
            };
            var validator = GetRules();

            Assert.AreEqual(validator.ValidateBool(obj), false);
        }
        public void ValidateBoolRightObject()
        {
            var obj = new ChekedClass()
            {
                Id = 213, isValue = true, Name = "Name", Reference = new object()
            };
            var validator = GetRules();

            Assert.AreEqual(validator.ValidateBool(obj), true);
        }
        public void ValidateResultsRightObject()
        {
            var obj = new ChekedClass()
            {
                Id = 123, isValue = true, Name = "Name", Reference = new object()
            };
            var validator = GetRules();

            var sdf = validator.ValidateResults(obj);

            Assert.AreEqual(validator.ValidateResults(obj).Count(), 0);
        }
        public void ValidateResultsLambdaExpressionHasText()
        {
            IValidateRules <ChekedClass> validator = new ValidateRules <ChekedClass>();

            validator.AddRule(x => !String.IsNullOrEmpty(x.Name), "Error");

            var obj = new ChekedClass()
            {
                Id = 123, isValue = true, Name = "", Reference = new object()
            };

            Assert.AreEqual(validator.ValidateResults(obj).First().ErrorMessage, "Error");
        }
        public void ValidateResultsLambdaExpressionDoesntReturnsName()
        {
            IValidateRules <ChekedClass> validator = new ValidateRules <ChekedClass>();

            validator.AddRule(x => !String.IsNullOrEmpty(x.Name), "Error");

            var obj = new ChekedClass()
            {
                Id = 123, isValue = true, Name = "", Reference = new object()
            };

            Assert.IsNull(validator.ValidateResults(obj).First().MemberNames.FirstOrDefault());
        }
        public void ValidateResultsBinaryExpressionHasText()
        {
            IValidateRules <ChekedClass> validator = new ValidateRules <ChekedClass>();

            validator.AddRule(x => x.Id != 0, "Error");

            var obj = new ChekedClass()
            {
                isValue = true, Name = "Name", Reference = new object()
            };

            Assert.AreEqual(validator.ValidateResults(obj).First().ErrorMessage, "Error");
        }