Exemplo n.º 1
0
        private void RunTestWithNumbers(IList <int> expectedResultCount,
                                        IList <Tuple <LinqExpression, Func <NumbersModel, object, bool>, object, ParameterExpression> > validator)
        {
            int index     = 0;
            var queryable = new DatabaseQueryable <NumbersModel>(Db);

            foreach (var c in validator)
            {
                var q = queryable.Where(LinqExpression.Lambda <Func <NumbersModel, bool> >(c.Item1, c.Item4)).Select(x => x.Id());

                var lastN = 0;
                VerifyQuery(q, (n, row) =>
                {
                    var doc = Db.GetDocument(row).ToModel <NumbersModel>();
                    c.Item2(doc, c.Item3).Should().BeTrue("because otherwise the row failed validation");
                    lastN = n;
                });

                lastN.Should()
                .Be(expectedResultCount[index++], "because otherwise there was an incorrect number of rows");
            }
        }