Example #1
0
        public async Task FakeDbDataReader_Async_should_behave()
        {
            FakeDbCommand cmd = new FakeDbCommand();

            FakeDbDataReader rdr = new FakeDbDataReader(cmd);

            //

            List <TestTable> tables = RandomDataGenerator.CreateRandomTables(seed: 1234, tableCount: 5);

            rdr.ResetAndLoadTestData(tables);

            rdr.AllTables.Count.ShouldBe(5);

            //

            rdr.AsyncMode = AsyncMode.AwaitAsync;

            // Table 0:
            {
                Int32 i = 0;
                while (await rdr.ReadAsync())
                {
                    i++;
                }

                i.ShouldBe(tables[0].Rows.Count);
            }

            // Table 1:
            (await rdr.NextResultAsync()).ShouldBeTrue();
            {
                Int32 i = 0;
                while (await rdr.ReadAsync())
                {
                    i++;
                }

                i.ShouldBe(tables[1].Rows.Count);
            }

            // Table 2:
            (await rdr.NextResultAsync()).ShouldBeTrue();
            {
                Int32 i = 0;
                while (await rdr.ReadAsync())
                {
                    i++;
                }

                i.ShouldBe(tables[2].Rows.Count);
            }

            // Table 3:
            (await rdr.NextResultAsync()).ShouldBeTrue();
            {
                Int32 i = 0;
                while (await rdr.ReadAsync())
                {
                    i++;
                }

                i.ShouldBe(tables[3].Rows.Count);
            }

            // Table 4:
            (await rdr.NextResultAsync()).ShouldBeTrue();
            {
                Int32 i = 0;
                while (await rdr.ReadAsync())
                {
                    i++;
                }

                i.ShouldBe(tables[4].Rows.Count);
            }

            (await rdr.NextResultAsync()).ShouldBeFalse();
        }