Пример #1
0
        public void IsSatisfiedComparisonHasValueStringTest()
        {
            var vehicle = new VehicleModelProxy
            {
                Plate   = "123-abc",
                TransSN = "2343678",
                OMBYear = 3000
            };

            var ruleList = new List <Rule> {
                //true
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "TransSN",
                    RightPropertyName  = null,
                    ComparisonOperator = LogicOperator.HasValue
                },
            };
            var ruleSet = new RuleSet {
                tblRules = ruleList, Operation = Convert.ToInt32(BoolOperator.AND)
            };

            var target = new RuleValidationService(vehicle);

            target.IsSatisfied(ruleSet);
            const bool expected = true;
            var        actual   = target.IsSatisfied(ruleSet);

            Assert.AreEqual(expected, actual);
        }
Пример #2
0
        public void IsSatisfiedHasValueTest()
        {
            var vehicle = new VehicleModelProxy
            {
                C511Date = new DateTime(2012, 10, 2),
                TransSN  = "2343678",
                OMBYear  = 0
            };

            var ruleList = new List <Rule> {
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "OMBYear",
                    ComparisonOperator = LogicOperator.IsNullOrEmpty,
                    ExpectedValue      = "123-abc"
                }
            };
            var ruleSet = new RuleSet {
                tblRules = ruleList
            };

            var target = new RuleValidationService(vehicle);

            target.IsSatisfied(ruleSet);
            const bool expected = true;
            var        actual   = target.IsSatisfied(ruleSet);

            Assert.AreEqual(expected, actual);
        }
Пример #3
0
        public void IsSatisfiedComparisonDateGreaterTanTest()
        {
            var vehicle = new VehicleModelProxy
            {
                CondemDate   = new DateTime(2012, 07, 31),
                AcceptedDate = new DateTime(2012, 08, 01)
            };

            var ruleList = new List <Rule> {
                //true
                new Rule
                {
                    RuleType           = RuleType.ComparisonRule,
                    LeftPropertyName   = "AcceptedDate",
                    RightPropertyName  = "CondemDate",
                    ComparisonOperator = LogicOperator.GreaterThan
                },
            };
            var ruleSet = new RuleSet {
                tblRules = ruleList, Operation = Convert.ToInt32(BoolOperator.AND)
            };

            var target = new RuleValidationService(vehicle);

            target.IsSatisfied(ruleSet);
            const bool expected = true;
            var        actual   = target.IsSatisfied(ruleSet);

            Assert.AreEqual(expected, actual);
        }
Пример #4
0
        public void IsSatisfiedANDDateTimeTypeFalseTest()
        {
            var vehicle = new VehicleModelProxy
            {
                AcceptedDate = new DateTime(2012, 7, 31)
            };

            var ruleList = new List <Rule> {
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "AcceptedDate",
                    ComparisonOperator = LogicOperator.NotEqual,
                    ExpectedValue      = "07/31/2012"
                }
            };
            var ruleSet = new RuleSet {
                tblRules = ruleList, Operation = Convert.ToInt32(BoolOperator.AND)
            };

            var target = new RuleValidationService(vehicle);

            target.IsSatisfied(ruleSet);
            const bool expected = false;
            var        actual   = target.IsSatisfied(ruleSet);

            Assert.AreEqual(expected, actual);
        }
Пример #5
0
        public void IsSatisfiedANDBoolTypeFalseTest()
        {
            var vehicle = new VehicleModelProxy
            {
                Plate      = "123-abc",
                TransSN    = "2343678",
                Formalized = false
            };

            var ruleList = new List <Rule> {
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "Formalized",
                    ComparisonOperator = LogicOperator.Equal,
                    ExpectedValue      = "false"
                }
            };
            var ruleSet = new RuleSet {
                tblRules = ruleList, Operation = Convert.ToInt32(BoolOperator.AND)
            };

            var target = new RuleValidationService(vehicle);

            target.IsSatisfied(ruleSet);
            const bool expected = true;
            var        actual   = target.IsSatisfied(ruleSet);

            Assert.AreEqual(expected, actual);
        }
Пример #6
0
        public void IsSatisfiedComparisonFalseTest()
        {
            var vehicle = new VehicleModelProxy
            {
                Plate   = "123-abc",
                TransSN = "2343678",
                OMBYear = 3000,
                Fuel    = 4000
            };

            var ruleList = new List <Rule> {
                //true
                new Rule
                {
                    RuleType           = RuleType.ComparisonRule,
                    LeftPropertyName   = "OMBYear",
                    RightPropertyName  = "Fuel",
                    ComparisonOperator = LogicOperator.Equal
                },
                //true
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "TransSN",
                    ComparisonOperator = LogicOperator.Equal,
                    ExpectedValue      = "2343678"
                },
                //true
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "OMBYear",
                    ComparisonOperator = LogicOperator.GreaterThan,
                    ExpectedValue      = "2000"
                }
            };
            var ruleSet = new RuleSet {
                tblRules = ruleList, Operation = Convert.ToInt32(BoolOperator.AND)
            };

            var target = new RuleValidationService(vehicle);

            target.IsSatisfied(ruleSet);
            const bool expected = false;
            var        actual   = target.IsSatisfied(ruleSet);

            Assert.AreEqual(expected, actual);
        }
Пример #7
0
        public void IsSatisfiedANDTest()
        {
            var vehicle = new VehicleModelProxy
            {
                Plate   = "123-abc",
                TransSN = "2343678",
                OMBYear = 3000
            };

            var ruleList = new List <Rule> {
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "Plate",
                    ComparisonOperator = LogicOperator.Equal,
                    ExpectedValue      = "123-abc"
                },
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "TransSN",
                    ComparisonOperator = LogicOperator.NotEqual,
                    ExpectedValue      = "2345678"
                },
                new Rule
                {
                    RuleType           = RuleType.UnaryRule,
                    LeftPropertyName   = "OMBYear",
                    ComparisonOperator = LogicOperator.GreaterThan,
                    ExpectedValue      = "2000"
                }
            };
            var ruleSet = new RuleSet {
                tblRules = ruleList, Operation = BoolOperator.AND
            };

            var target = new RuleValidationService(vehicle);

            target.IsSatisfied(ruleSet);
            const bool expected = true;
            var        actual   = target.IsSatisfied(ruleSet);

            Assert.AreEqual(expected, actual);
        }