public void LogicalOperatorTest() { FilterExpression target = new FilterExpression(); FilterLogicalOperatorEnum expected = FilterLogicalOperatorEnum.AND; FilterLogicalOperatorEnum actual = target.LogicalOperator; actual = target.LogicalOperator; Assert.AreEqual(expected, actual); }
/// <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); } }