protected void AssertQuery <TItem>(
            Func <IQueryable <TItem>, IQueryable <TItem> > l2eQuery,
            Func <IQueryable <TItem>, IQueryable <TItem> > l2oQuery,
            bool useRelationalNulls)
            where TItem : NullSemanticsEntityBase
        {
            var actualIds   = new List <int>();
            var expectedIds = new List <int>();

            expectedIds.AddRange(
                l2oQuery(_oracleData.Set <TItem>().ToList().AsQueryable())
                .Select(e => e.Id)
                .OrderBy(k => k));

            using (var context = CreateContext(useRelationalNulls))
            {
                actualIds.AddRange(
                    l2eQuery(context.Set <TItem>())
                    .Select(e => e.Id)
                    .ToList()
                    .OrderBy(k => k));
            }

            if (!useRelationalNulls)
            {
                Assert.Equal(expectedIds.Count, actualIds.Count);
                for (var i = 0; i < expectedIds.Count; i++)
                {
                    Assert.Equal(expectedIds[i], actualIds[i]);
                }
            }
        }
Exemplo n.º 2
0
        protected void AssertQuery <TItem>(Func <IQueryable <TItem>, IQueryable <TItem> > query)
            where TItem : NullSemanticsEntityBase
        {
            var actualIds   = new List <int>();
            var expectedIds = new List <int>();

            expectedIds.AddRange(query(_oracleData.Set <TItem>().ToList().AsQueryable()).Select(e => e.Id).OrderBy(k => k));

            using (var productContext = CreateContext())
            {
                actualIds.AddRange(query(productContext.Set <TItem>()).Select(e => e.Id).ToList().OrderBy(k => k));
            }

            Assert.Equal(expectedIds.Count, actualIds.Count);
            for (int i = 0; i < expectedIds.Count; i++)
            {
                Assert.Equal(expectedIds[i], actualIds[i]);
            }
        }