예제 #1
0
        public void Can_ExecuteScalarTask()
        {
            var executeScalarTasks = new List <Task <object> >();

            foreach (var section in Sections)
            {
                var query = NorthwindAdoRepository.QueryProvider.GetQuery(section, QueryKey);
                Assert.IsNotEmpty(query);

                var countQuery = AdoTool.GetCountingSqlString(query);

                var task = NorthwindAdoRepository.ExecuteScalarAsync(countQuery);
                executeScalarTasks.Add(task);
            }

            Task.WaitAll(executeScalarTasks.ToArray());
            executeScalarTasks.All(t => t.IsCompleted).Should().Be.True();

            foreach (var task in executeScalarTasks)
            {
                var scalar = (int)task.Result;
                Assert.Greater(scalar, 0);

                if (IsDebugEnabled)
                {
                    log.Debug("Count = " + scalar);
                }
            }
        }