Exemplo n.º 1
0
        public void QueryWithParameterSimple()
        {
            using (var container = new RhetosTestContainer())
            {
                var testData = new[] { "a1", "a2", "b1" }
                .Select(name => new TestQueryable.Simple {
                    Name = name
                })
                .ToList();

                var simpleRepository = container.Resolve <Common.DomRepository>().TestQueryable.Simple;
                simpleRepository.Delete(simpleRepository.Load());
                simpleRepository.Insert(testData);

                var parameter = new TestQueryable.StartsWith {
                    Prefix = "a"
                };
                Assert.AreEqual("a1, a2", TestUtility.DumpSorted(simpleRepository.Query(parameter), item => item.Name));

                var genericRepository = container.Resolve <GenericRepository <TestQueryable.Simple> >();
                Assert.AreEqual("a1, a2", TestUtility.DumpSorted(genericRepository.Query(parameter), item => item.Name));
                Assert.AreEqual("a1, a2", TestUtility.DumpSorted(genericRepository.Load(parameter), item => item.Name));
                TestUtility.ShouldFail(() => genericRepository.Filter(genericRepository.Query(), parameter), "does not implement", "TestQueryable.StartsWith");
            }
        }
Exemplo n.º 2
0
        public void QueryWithParameterSimple()
        {
            using (var container = new RhetosTestContainer())
            {
                var testData = new[] { "a1", "a2", "b1" }
                    .Select(name => new TestQueryable.Simple { Name = name });

                var simpleRepository = container.Resolve<Common.DomRepository>().TestQueryable.Simple;
                simpleRepository.Delete(simpleRepository.All());
                simpleRepository.Insert(testData);

                var parameter = new TestQueryable.StartsWith { Prefix = "a" };
                Assert.AreEqual("a1, a2", TestUtility.DumpSorted(simpleRepository.Query(parameter), item => item.Name));

                var genericRepository = container.Resolve<GenericRepository<TestQueryable.Simple>>();
                Assert.AreEqual("a1, a2", TestUtility.DumpSorted(genericRepository.Query(parameter), item => item.Name));
                Assert.AreEqual("a1, a2", TestUtility.DumpSorted(genericRepository.Read(parameter), item => item.Name));
                TestUtility.ShouldFail(() => genericRepository.Filter(genericRepository.Query(), parameter), "does not implement", "TestQueryable.StartsWith");
            }
        }