Esempio n. 1
0
        public void TestDbContext_PagedQuery_Ask()
        {
            var pagedQuery = new PagedQuery <int, UberProductSpec, Product, ProductDto>(
                new TestDbContext(), new StaticAutoMapperWrapper()).AsPaged();

            var optimizedQUery = new OptimizedQuery();

            var sw = new Stopwatch();

            sw.Start();

            var specs = new List <UberProductSpec>();

            for (var i = 0; i < 50000; i++)
            {
                specs.Add(new UberProductSpec(1, 1)
                {
                    Price = i
                });
            }

            var res = specs.Select(x => pagedQuery.Ask(x)).ToArray();

            sw.Stop();

            //Assert.Equal(99900, res.First().Price);
            //Assert.Equal(964, res.TotalCount);
            Assert.True(sw.ElapsedMilliseconds < 300, $"Elapsed Miliseconds: {sw.ElapsedMilliseconds}");
        }
Esempio n. 2
0
        public void OptimizedQuery_Ask()
        {
            var pagedQuery = new OptimizedQuery();
            var sw = new Stopwatch();

            sw.Start();
            var res = pagedQuery.AskSync(new UberProductSpec() { Price = 3500 });
            sw.Stop();

            Assert.Equal(100500, res.First().Price);
            Assert.Equal(1, res.TotalCount);
            Assert.True(sw.ElapsedMilliseconds < 120, $"Elapsed Miliseconds: {sw.ElapsedMilliseconds}");
        }
Esempio n. 3
0
        public void OptimizedQuery_Ask()
        {
            var pagedQuery = new OptimizedQuery();
            var sw         = new Stopwatch();

            sw.Start();
            var res = pagedQuery.AskSync(new UberProductSpec()
            {
                Price = 3500
            });

            sw.Stop();

            Assert.Equal(100500, res.First().Price);
            Assert.Equal(1, res.TotalCount);
            Assert.True(sw.ElapsedMilliseconds < 120, $"Elapsed Miliseconds: {sw.ElapsedMilliseconds}");
        }
Esempio n. 4
0
        private static IPagedEnumerable <ProductDto>[] DoSync(int queryCount)
        {
            var optimizedQuery = new OptimizedQuery();
            var specs          = new List <UberProductSpec>();

            for (var i = 0; i < queryCount; i++)
            {
                specs.Add(new UberProductSpec(1, 1)
                {
                    Price = i
                });
            }

            var res = specs
                      .Select(x => optimizedQuery.AskSync(x))
                      .ToArray();

            return(res);
        }
Esempio n. 5
0
        private static async Task <IPagedEnumerable <ProductDto>[]> DoAsync(int queryCount)
        {
            var optimizedQuery = new OptimizedQuery();
            var specs          = new List <UberProductSpec>();

            for (var i = 0; i < queryCount; i++)
            {
                specs.Add(new UberProductSpec(1, 1)
                {
                    Price = i
                });
            }

            var res = await Task.WhenAll(specs
                                         .Select(x => optimizedQuery.Ask(x))
                                         .ToArray());

            //var res = specs.Select(x => optimizedQUery.Ask(x)).ToArray();

            return(res);
        }
Esempio n. 6
0
        public void TestDbContext_PagedQuery_Ask()
        {        
            var pagedQuery = new PagedQuery<int, UberProductSpec, Product, ProductDto>(
                new TestDbContext(), new StaticAutoMapperWrapper()).AsPaged();

            var optimizedQUery = new OptimizedQuery();

            var sw = new Stopwatch();

            sw.Start();

            var specs = new List<UberProductSpec>();
            for (var i = 0; i < 50000; i++)
            {
                specs.Add(new UberProductSpec(1, 1) {Price = i});
            }

            var res = specs.Select(x => pagedQuery.Ask(x)).ToArray();

            sw.Stop();

            //Assert.Equal(99900, res.First().Price);
            //Assert.Equal(964, res.TotalCount);
            Assert.True(sw.ElapsedMilliseconds < 300, $"Elapsed Miliseconds: {sw.ElapsedMilliseconds}");

        }
Esempio n. 7
0
 public void Async_Result()
 {
     var res = new OptimizedQuery().Ask(new UberProductSpec()).Result;
     Assert.Equal(2, res.TotalCount);
 }
Esempio n. 8
0
        private static async Task<IPagedEnumerable<ProductDto>[]> DoAsync(int queryCount)
        {
            var optimizedQuery = new OptimizedQuery();
            var specs = new List<UberProductSpec>();
            for (var i = 0; i < queryCount; i++)
            {
                specs.Add(new UberProductSpec(1, 1) {Price = i});
            }

            var res = await Task.WhenAll(specs
                .Select(x => optimizedQuery.Ask(x))
                .ToArray());

            //var res = specs.Select(x => optimizedQUery.Ask(x)).ToArray();

            return res;
        }
Esempio n. 9
0
        private static IPagedEnumerable<ProductDto>[] DoSync(int queryCount)
        {
            var optimizedQuery = new OptimizedQuery();
            var specs = new List<UberProductSpec>();
            for (var i = 0; i < queryCount; i++)
            {
                specs.Add(new UberProductSpec(1, 1) {Price = i});
            }

            var res = specs
                .Select(x => optimizedQuery.AskSync(x))
                .ToArray();

            return res;
        }
Esempio n. 10
0
        public void Async_Result()
        {
            var res = new OptimizedQuery().Ask(new UberProductSpec()).Result;

            Assert.Equal(2, res.TotalCount);
        }