Exemplo n.º 1
0
        public async override Task <bool> Passes()
        {
            var result = false;

            switch (Operator)
            {
            case CommonCore.Models.Enums.ComparisonOperatorEnum.LessThan:
            case CommonCore.Models.Enums.ComparisonOperatorEnum.LessThanOrEqualTo:
            case CommonCore.Models.Enums.ComparisonOperatorEnum.GreaterThanOrEqualTo:
            case CommonCore.Models.Enums.ComparisonOperatorEnum.GreaterThan:
                throw new System.Exception(NonApplicableOperatorMessage);

            case CommonCore.Models.Enums.ComparisonOperatorEnum.EqualTo:
                result = OwnValue == ComparisonValue;
                break;

            case CommonCore.Models.Enums.ComparisonOperatorEnum.NotEqualTo:
                result = OwnValue != ComparisonValue;
                break;

            default:
                result = OwnValue == ComparisonValue;
                break;
            }

            return(result && await RuleTree.PassesAnd(Children));
        }
Exemplo n.º 2
0
        public async override Task <bool> Passes()
        {
            bool result = false;

            if (ComparisonValue is T2 comparisonValue)
            {
                switch (Operator)
                {
                case ComparisonOperatorEnum.LessThan:
                    result = OwnValue.IsLessThan <T2>(comparisonValue);
                    break;

                case ComparisonOperatorEnum.LessThanOrEqualTo:
                    result = OwnValue.IsLessThanOrEqualTo <T2>(comparisonValue);
                    break;

                case ComparisonOperatorEnum.EqualTo:
                    result = OwnValue.IsEqualTo <T2>(comparisonValue);
                    break;

                case ComparisonOperatorEnum.GreaterThanOrEqualTo:
                    result = OwnValue.IsGreaterThanOrEqualTo <T2>(comparisonValue);
                    break;

                case ComparisonOperatorEnum.GreaterThan:
                    result = OwnValue.IsGreaterThan <T2>(comparisonValue);
                    break;

                case ComparisonOperatorEnum.NotEqualTo:
                    result = OwnValue.IsNotEqualTo <T2>(comparisonValue);
                    break;

                default:
                    result = OwnValue.IsEqualTo <T2>(comparisonValue);
                    break;
                }
            }
            return(result &&
                   await RuleTree.PassesAnd(Children));
        }
Exemplo n.º 3
0
        public async override Task <bool> Passes()
        {
            var result = false;

            switch (Operator)
            {
            case CommonCore.Models.Enums.ComparisonOperatorEnum.LessThan:
                result = OwnValue < ComparisonValue;
                break;

            case CommonCore.Models.Enums.ComparisonOperatorEnum.LessThanOrEqualTo:
                result = OwnValue >= ComparisonValue;
                break;

            case CommonCore.Models.Enums.ComparisonOperatorEnum.EqualTo:
                result = OwnValue == ComparisonValue;
                break;

            case CommonCore.Models.Enums.ComparisonOperatorEnum.GreaterThanOrEqualTo:
                result = OwnValue >= ComparisonValue;
                break;

            case CommonCore.Models.Enums.ComparisonOperatorEnum.GreaterThan:
                result = OwnValue >= ComparisonValue;
                break;

            case CommonCore.Models.Enums.ComparisonOperatorEnum.NotEqualTo:
                result = OwnValue != ComparisonValue;
                break;

            default:
                result = OwnValue == ComparisonValue;
                break;
            }
            return(result && await RuleTree.PassesAnd(Children));
        }
Exemplo n.º 4
0
        public async Task PassesAnd_TwoStringComparsionValues_True()
        {
            var result = await RuleTree.PassesAnd(RuleTreeMockData.AndRuleTwoStringComparisonRules_BothMatch.BaseNode.Children);

            Assert.True(result);
        }
Exemplo n.º 5
0
        public async Task PassesAnd_NoChildren_True()
        {
            var result = await RuleTree.PassesAnd <IRuleNode>(RuleTreeMockData.AndRuleNoChildren.Children);

            Assert.True(result);
        }