Exemple #1
0
        protected NBiConstraint InstantiateConstraint()
        {
            RowCountConstraint ctr;
            var childConstraint = BuildChildConstraint(ConstraintXml.Comparer);

            IResultSetFilter filter = null;

            if (ConstraintXml.Filter != null)
            {
                var filterXml   = ConstraintXml.Filter;
                var expressions = new List <IColumnExpression>();
                if (filterXml.Expression != null)
                {
                    expressions.Add(filterXml.Expression);
                }

                var value = EvaluatePotentialVariable(ConstraintXml.Comparer.Value.Replace(" ", ""));

                var factory = new ResultSetFilterFactory(Variables);
                if (filterXml.Predication != null)
                {
                    filter = factory.Instantiate
                             (
                        filterXml.Aliases
                        , expressions
                        , filterXml.Predication
                             );
                }
                else if (filterXml.Combination != null)
                {
                    filter = factory.Instantiate
                             (
                        filterXml.Aliases
                        , expressions
                        , filterXml.Combination.Operator
                        , filterXml.Combination.Predicates
                             );
                }
                if ((value is string& (value as string).EndsWith("%")))
                {
                    ctr = new RowCountFilterPercentageConstraint(childConstraint, filter);
                }
                else
                {
                    ctr = new RowCountFilterConstraint(childConstraint, filter);
                }
            }
            else
            {
                ctr = new RowCountConstraint(childConstraint);
            }

            return(ctr);
        }
Exemple #2
0
        protected NBiConstraint InstantiateConstraint()
        {
            IResultSetFilter filter = null;

            var expressions = new List <IColumnExpression>();

            if (ConstraintXml.Expression != null)
            {
                expressions.Add(ConstraintXml.Expression);
            }

            filter = new PredicateFilter
                     (
                ConstraintXml.Variables
                , expressions
                , ConstraintXml.Predicate
                     );

            var ctr = new NoRowsConstraint(filter);

            return(ctr);
        }
Exemple #3
0
        protected NBiConstraint InstantiateConstraint()
        {
            RowCountConstraint ctr;
            var childConstraint = BuildChildConstraint(ConstraintXml.Comparer);

            IResultSetFilter filter = null;

            if (ConstraintXml.Filter != null)
            {
                var filterXml   = ConstraintXml.Filter;
                var expressions = new List <IColumnExpression>();
                if (filterXml.Expression != null)
                {
                    expressions.Add(filterXml.Expression);
                }

                var factory = new PredicateFilterFactory();
                filter = factory.Instantiate
                         (
                    filterXml.Aliases
                    , expressions
                    , filterXml.Predicate
                         );
                if (ConstraintXml.Comparer.Value.Replace(" ", "").EndsWith("%"))
                {
                    ctr = new RowCountFilterPercentageConstraint(childConstraint, filter);
                }
                else
                {
                    ctr = new RowCountFilterConstraint(childConstraint, filter);
                }
            }
            else
            {
                ctr = new RowCountConstraint(childConstraint);
            }

            return(ctr);
        }
Exemple #4
0
 public NoRowsConstraint(IResultSetFilter filter)
     : base(filter)
 {
     filterFunction = filter.Apply;
 }
Exemple #5
0
 public AllRowsConstraint(IResultSetFilter filter)
     : base(null, filter)
 {
     filterFunction = filter.AntiApply;
 }
Exemple #6
0
 public RowCountFilterConstraint(DifferedConstraint childConstraint, IResultSetFilter filter)
     : base(childConstraint)
 {
     this.filter    = filter;
     filterFunction = filter.Apply;
 }
Exemple #7
0
 public SingleRowConstraint(IResultSetFilter filter)
     : base(filter)
 {
 }
Exemple #8
0
 public FilterGroupByFilter(IResultSetFilter filter, IByColumnGrouping groupBy)
 {
     this.filter  = filter;
     this.groupBy = groupBy;
 }
Exemple #9
0
 public SomeRowsConstraint(IResultSetFilter filter)
     : base(filter)
 {
 }
 public RowCountFilterPercentageConstraint(DifferedConstraint differed, IResultSetFilter filter)
     : base(differed, filter)
 {
 }
Exemple #11
0
 public GroupByFilter(IResultSetFilter filter, IGroupBy groupBy)
 => (Filter, GroupBy) = (filter, groupBy);
 public RowCountFilterPercentageConstraint(NUnitCtr.Constraint childConstraint, IResultSetFilter filter)
     : base(childConstraint, filter)
 {
 }
Exemple #13
0
        protected NBiConstraint InstantiateConstraint()
        {
            RowCountConstraint ctr;
            var comparer        = ConstraintXml.Comparer as ScalarReferencePredicateXml;
            var childConstraint = BuildChildConstraint(comparer);

            IResultSetFilter filter = null;

            if (ConstraintXml.Filter != null)
            {
                var filterXml   = ConstraintXml.Filter;
                var expressions = new List <IColumnExpression>();
                if (filterXml.Expression != null)
                {
                    expressions.Add(filterXml.Expression);
                }

                var value = EvaluatePotentialVariable(comparer.Reference.ToString().Replace(" ", ""));

                var context = new Context(Variables, filterXml.Aliases, expressions);
                var factory = new ResultSetFilterFactory(ServiceLocator);
                if (filterXml.Predication != null)
                {
                    var helper = new PredicateArgsBuilder(ServiceLocator, context);
                    var args   = helper.Execute(filterXml.Predication.ColumnType, filterXml.Predication.Predicate);

                    filter = factory.Instantiate
                             (
                        new PredicationArgs(filterXml.Predication.Operand, args)
                        , context
                             );
                }

                else if (filterXml.Combination != null)
                {
                    var helper          = new PredicateArgsBuilder(ServiceLocator, context);
                    var predicationArgs = new List <PredicationArgs>();
                    foreach (var predication in filterXml.Combination.Predications)
                    {
                        var args = helper.Execute(predication.ColumnType, predication.Predicate);
                        predicationArgs.Add(new PredicationArgs(predication.Operand, args));
                    }

                    filter = factory.Instantiate
                             (
                        filterXml.Combination.Operator
                        , predicationArgs
                        , context
                             );
                }
                if ((value is string& (value as string).EndsWith("%")))
                {
                    ctr = new RowCountFilterPercentageConstraint(childConstraint, filter);
                }
                else
                {
                    ctr = new RowCountFilterConstraint(childConstraint, filter);
                }
            }
            else
            {
                ctr = new RowCountConstraint(childConstraint);
            }

            return(ctr);
        }