Exemplo n.º 1
0
        public void AddTerm()
        {
            var filter = new global::LogicMine.Api.Filter.Filter(new[] { new FilterTerm("str", FilterOperators.StartsWith, "hello") });

            Assert.True(filter.Terms.Count() == 1);

            filter.AddTerm(new FilterTerm("one1", FilterOperators.GreaterThanOrEqual, 75));
            filter.AddTerm(new RangeFilterTerm("two2", 66, 250));
            filter.AddTerm(new InFilterTerm("three3", new object[] { 1, 2, 3, 4, 5 }));

            Assert.Equal(4, filter.Terms.Count());

            Assert.Contains(filter.Terms,
                            p => p.PropertyName == "str" && p.Operator == FilterOperators.StartsWith && (string)p.Value == "hello");

            Assert.Contains(filter.Terms,
                            p => p.PropertyName == "one1" && p.Operator == FilterOperators.GreaterThanOrEqual && (int)p.Value == 75);

            Assert.Contains(filter.Terms,
                            p => p.PropertyName == "two2" && p.Operator == FilterOperators.Range &&
                            (int)((RangeFilterTerm)p).From == 66 &&
                            (int)((RangeFilterTerm)p).To == 250);

            Assert.Contains(filter.Terms,
                            p => p.PropertyName == "three3" && p.Operator == FilterOperators.In &&
                            ((InFilterTerm)p).Value.ToArray().Length == 5);
        }
Exemplo n.º 2
0
        public void Construct()
        {
            var filter = new global::LogicMine.Api.Filter.Filter(new[]
            {
                new FilterTerm("one", FilterOperators.LessThan, 88),
                new RangeFilterTerm("two", 6, 25),
                new InFilterTerm("three", new object[] { 1, 2, 3 })
            });

            Assert.Equal(3, filter.Terms.Count());

            Assert.Contains(filter.Terms,
                            p => p.PropertyName == "one" && p.Operator == FilterOperators.LessThan && (int)p.Value == 88);

            Assert.Contains(filter.Terms,
                            p => p.PropertyName == "two" && p.Operator == FilterOperators.Range &&
                            (int)((RangeFilterTerm)p).From == 6 &&
                            (int)((RangeFilterTerm)p).To == 25);
            Assert.Contains(filter.Terms,
                            p => p.PropertyName == "three" && p.Operator == FilterOperators.In &&
                            ((InFilterTerm)p).Value.ToArray().Length == 3);
        }