示例#1
0
        public void Serialize_and_filter_with_one_filter_expression()
        {
            var expression = new LeafFilterExpression()
            {
                Operation = OperationType.GreaterThan, Property = "Salary", Value = 10000
            };
            var json = new JsonFilterExpression(expression.Json());

            var filteredItems = json.Filter <TestItem>().Apply(_testItems);

            Assert.That(filteredItems.Count(), Is.EqualTo(2));
        }
示例#2
0
        public void Serialize_and_filter_with_combined_or_filter_expression()
        {
            var lhs = new LeafFilterExpression()
            {
                Operation = OperationType.GreaterThan, Property = "Salary", Value = 10000
            };

            var rhs = new LeafFilterExpression()
            {
                Operation = OperationType.Contains, Property = "Name", Value = "am"
            };

            var combined = new CompositeFilterExpression()
            {
                LHS = lhs, RHS = rhs, LogicalOperator = LogicalOperator.Or
            };

            var json = new JsonFilterExpression(combined.Json());

            var filteredItems = json.Filter <TestItem>().Apply(_testItems);

            Assert.That(filteredItems.Count(), Is.EqualTo(3));
        }