public void QueryPage_excutes_with_arguments()
        {
            // set-up
            ISqlQuery           sqlQuery   = A.Fake <ISqlQuery>();
            ParameterCollection parameters = new ParameterCollection();
            Select select = new Select();

            // call
            sqlQuery.QueryPage <DateTime>(select);

            // assert
            A.CallTo(() => sqlQuery.QueryMultiple(select.Sql(), select.Parameters, CommandType.Text, A <int?> .Ignored, A <Action <IDbConnection> > .Ignored)).MustHaveHappenedOnceExactly();
        }
        public void QueryPage_gets_count_from_data_count_when_includeCount_is_false()
        {
            // set-up
            ISqlQuery   sqlQuery   = A.Fake <ISqlQuery>();
            Select      select     = new Select(includeCount: false);
            IGridReader gridReader = A.Fake <IGridReader>();
            DateTime    now        = DateTime.Now;

            A.CallTo(() => gridReader.Read <DateTime>()).Returns(new[] { now });
            A.CallTo(() => gridReader.Read <int>()).Returns(new[] { 5 });
            A.CallTo(() => sqlQuery.QueryMultiple(select.Sql(), select.Parameters, CommandType.Text, A <int?> .Ignored, A <Action <IDbConnection> > .Ignored)).Returns(gridReader);

            // call
            DataPage <DateTime> dataPage = sqlQuery.QueryPage <DateTime>(select);

            // assert
            dataPage.Count.MustBe(1);
            dataPage.Data.First().MustBe(now);
        }