public void Build_Filter() { var builder = new DataSourceExpressionBuilder <int> { Filter = new object[] { "this", ">", 123 } }; var expr = builder.Build(false); Assert.Equal("data.Where(obj => (obj > 123))", expr.Body.ToString()); }
public void Build_SkipTake() { var builder = new DataSourceExpressionBuilder <int> { Skip = 111, Take = 222 }; var expr = builder.Build(false); Assert.Equal("data.Skip(111).Take(222)", expr.Body.ToString()); }
public void Build_Sorting() { var builder = new DataSourceExpressionBuilder <Tuple <int, string> > { Sort = new[] { new SortingInfo { Selector = "Item1" }, new SortingInfo { Selector = "Item2", Desc = true } } }; var expr = builder.Build(false); Assert.Equal("data.OrderBy(obj => obj.Item1).ThenByDescending(obj => obj.Item2)", expr.Body.ToString()); }
public void Build_CountQuery() { var builder = new DataSourceExpressionBuilder <int> { Skip = 111, Take = 222, Filter = new object[] { "this", 123 }, Sort = new[] { new SortingInfo { Selector = "this" } }, }; var expr = builder.Build(true); var text = expr.ToString(); Assert.Contains("Where", text); Assert.DoesNotContain("Skip", text); Assert.DoesNotContain("Take", text); Assert.DoesNotContain("OrderBy", text); Assert.EndsWith(".Count()", text); }