public void LogicalOperatorTest()
        {
            FilterExpression          target   = new FilterExpression();
            FilterLogicalOperatorEnum expected = FilterLogicalOperatorEnum.AND;
            FilterLogicalOperatorEnum actual   = target.LogicalOperator;

            actual = target.LogicalOperator;
            Assert.AreEqual(expected, actual);
        }
Example #2
0
        /// <summary>
        /// Merges this filterExpression to another one by AND
        /// </summary>
        /// <param name="filterExp2">The filter exp2.</param>
        public void AndMerge(FilterExpression filterExp2)
        {
            //IMPORTANT NOTE: we HAVE TO add empty filters because they are objects and they might change
            //if (filterExp2.FiltersList.Count == 0)
            //    return;

            if (this.LogicalOperator == FilterLogicalOperatorEnum.AND)
            {
                this.FiltersList.Add(filterExp2);
            }
            else
            {
                FilterExpression filterExp1 = (FilterExpression)this.Clone();
                // reseting the status of this object
                this.FiltersList.Clear();
                this.LogicalOperator = FilterLogicalOperatorEnum.AND;
                // adding filter expressions
                this.AddFilterExpression(filterExp1);
                this.AddFilterExpression(filterExp2);
            }
        }