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); }
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); }