Exemplo n.º 1
0
        public void AsQueryable()
        {
            var simpleEntityReflection = new ReflectionHelper <IEntity>(typeof(SimpleEntity).FullName, new Mocks.DomainObjectModelMock(), null);

            {
                var entityList = new List <IEntity>()
                {
                    new DerivedEntity {
                        Data = "d"
                    }
                };
                var q = simpleEntityReflection.AsQueryable(entityList);
                Console.WriteLine(q.GetType());
                Assert.IsTrue(q is IQueryable <SimpleEntity>);
                Assert.AreEqual("d", ((DerivedEntity)q.Single()).Data);
                Assert.IsFalse(object.ReferenceEquals(entityList, q));
            }
            {
                var derivedList = new List <DerivedEntity>()
                {
                    new DerivedEntity {
                        Data = "d"
                    }
                };
                var q = simpleEntityReflection.AsQueryable(derivedList);
                Console.WriteLine(q.GetType());
                Assert.IsTrue(q is IQueryable <SimpleEntity>);
                Assert.AreEqual("d", ((DerivedEntity)q.Single()).Data);
                Assert.IsFalse(object.ReferenceEquals(derivedList, q));
            }
            {
                var simpleQueryable = new List <SimpleEntity>()
                {
                    new DerivedEntity {
                        Data = "d"
                    }
                }.AsQueryable();
                var q = simpleEntityReflection.AsQueryable(simpleQueryable);
                Console.WriteLine(q.GetType());
                Assert.IsTrue(q is IQueryable <SimpleEntity>);
                Assert.AreEqual("d", ((DerivedEntity)q.Single()).Data);
                Assert.IsTrue(object.ReferenceEquals(simpleQueryable, q), "Optimized.");
            }
            {
                var derivedQueryable = new List <DerivedEntity>()
                {
                    new DerivedEntity {
                        Data = "d"
                    }
                }.AsQueryable();
                var q = simpleEntityReflection.AsQueryable(derivedQueryable);
                Console.WriteLine(q.GetType());
                Assert.IsTrue(q is IQueryable <SimpleEntity>);
                Assert.AreEqual("d", ((DerivedEntity)q.Single()).Data);
                Assert.IsTrue(object.ReferenceEquals(derivedQueryable, q), "Optimized.");
            }
        }
Exemplo n.º 2
0
        public void AsQueryable()
        {
            var simpleEntityReflection = new ReflectionHelper<IEntity>(typeof(SimpleEntity).FullName, new Mocks.DomainObjectModelMock(), null);

            {
                var entityList = new List<IEntity>() { new DerivedEntity { Data = "d" } };
                var q = simpleEntityReflection.AsQueryable(entityList);
                Console.WriteLine(q.GetType());
                Assert.IsTrue(q is IQueryable<SimpleEntity>);
                Assert.AreEqual("d", ((DerivedEntity)q.Single()).Data);
                Assert.IsFalse(object.ReferenceEquals(entityList, q));
            }
            {
                var derivedList = new List<DerivedEntity>() { new DerivedEntity { Data = "d" } };
                var q = simpleEntityReflection.AsQueryable(derivedList);
                Console.WriteLine(q.GetType());
                Assert.IsTrue(q is IQueryable<SimpleEntity>);
                Assert.AreEqual("d", ((DerivedEntity)q.Single()).Data);
                Assert.IsFalse(object.ReferenceEquals(derivedList, q));
            }
            {
                var simpleQueryable = new List<SimpleEntity>() { new DerivedEntity { Data = "d" } }.AsQueryable();
                var q = simpleEntityReflection.AsQueryable(simpleQueryable);
                Console.WriteLine(q.GetType());
                Assert.IsTrue(q is IQueryable<SimpleEntity>);
                Assert.AreEqual("d", ((DerivedEntity)q.Single()).Data);
                Assert.IsTrue(object.ReferenceEquals(simpleQueryable, q), "Optimized.");
            }
            {
                var derivedQueryable = new List<DerivedEntity>() { new DerivedEntity { Data = "d" } }.AsQueryable();
                var q = simpleEntityReflection.AsQueryable(derivedQueryable);
                Console.WriteLine(q.GetType());
                Assert.IsTrue(q is IQueryable<SimpleEntity>);
                Assert.AreEqual("d", ((DerivedEntity)q.Single()).Data);
                Assert.IsTrue(object.ReferenceEquals(derivedQueryable, q), "Optimized.");
            }
        }