Exemplo n.º 1
0
        private void AssertInvalidExpression(Expression <Func <Order, bool> > exp, string expectedMessage)
        {
            var builder = new ListOptionsBuilder <Order>();
            var ex      = Assert.Throws <FilterExpressionException>(() => builder.AddFilter(exp));

            StringAssert.Contains(expectedMessage, ex.Message);
        }
Exemplo n.º 2
0
        public void can_build_list_options_flluently()
        {
            int a = 10, b = 20;

            var opts = new ListOptionsBuilder <Product <CustomXP> >()
                       .SearchFor("something")
                       .SearchOn(p => p.Name, p => p.Description)
                       .SortByReverse(p => p.Active)
                       .SortBy(p => p.ID)
                       .AddFilter(p => p.Active && !p.Inventory.Enabled && (p.xp.Foo == "*zing" || p.xp.Foo == "*zang" || p.xp.Foo == "*zong") && p.VariantCount >= (a * 2) + b)
                       .Page(5)
                       .PageSize(100)
                       .Build();

            Assert.AreEqual("something", opts.Search);
            Assert.AreEqual("Name,Description", opts.SearchOn);
            Assert.AreEqual("!Active,ID", opts.SortBy);
            Assert.AreEqual(4, opts.Filters.Count);
            CollectionAssert.Contains(opts.Filters, new KeyValuePair <string, string>("Active", "true"));
            CollectionAssert.Contains(opts.Filters, new KeyValuePair <string, string>("Inventory.Enabled", "!true"));
            CollectionAssert.Contains(opts.Filters, new KeyValuePair <string, string>("xp.Foo", "*zing|*zang|*zong"));
            CollectionAssert.Contains(opts.Filters, new KeyValuePair <string, string>("VariantCount", "!<40"));
            Assert.AreEqual(5, opts.Page);
            Assert.AreEqual(100, opts.PageSize);
        }