public void ShouldExecuteReaderNoCloseConnectionTextNoParametersTest()
        {
            Mockery mockery;
            AdoNetDataSource dataSource;
            IConnectionFactory mockConnectionFactory;
            IDbConnection mockDbConnection;
            IDbCommand mockDbCommand;
            IDataParameterCollection mockDataParameterCollection;
            IDataReader mockDataReader;

            IDataReader dataReader;

            mockery = new Mockery();
            mockConnectionFactory = mockery.NewMock<IConnectionFactory>();
            mockDbConnection = mockery.NewMock<IDbConnection>();
            mockDbCommand = mockery.NewMock<IDbCommand>();
            mockDataParameterCollection = mockery.NewMock<IDataParameterCollection>();
            mockDataReader = mockery.NewMock<IDataReader>();

            Expect.Once.On(mockConnectionFactory).Method("GetConnection").Will(Return.Value(mockDbConnection));
            //Expect.AtLeastOnce.On(mockDbConnection).GetProperty("State").Will(Return.Value(ConnectionState.Open));
            Expect.AtLeastOnce.On(mockDbConnection).Method("Dispose").WithNoArguments();
            Expect.AtLeastOnce.On(mockDbConnection).SetProperty("ConnectionString").To("myConnectionString");
            Expect.AtLeastOnce.On(mockDbConnection).Method("Open").WithNoArguments();
            Expect.AtLeastOnce.On(mockDbConnection).Method("CreateCommand").WithNoArguments().Will(Return.Value(mockDbCommand));
            Expect.AtLeastOnce.On(mockDbCommand).GetProperty("Parameters").Will(Return.Value(mockDataParameterCollection));
            Expect.AtLeastOnce.On(mockDataParameterCollection).Method("Clear").WithNoArguments();
            Expect.AtLeastOnce.On(mockDbCommand).Method("Dispose").WithNoArguments();
            Expect.AtLeastOnce.On(mockDbCommand).SetProperty("Connection").To(mockDbConnection);
            Expect.AtLeastOnce.On(mockDbCommand).SetProperty("CommandType").To(CommandType.Text);
            Expect.AtLeastOnce.On(mockDbCommand).SetProperty("CommandText").To("blah blah blah");
            Expect.AtLeastOnce.On(mockDbCommand).SetProperty("Transaction");
            Expect.AtLeastOnce.On(mockDbCommand).Method("ExecuteReader").With(CommandBehavior.SingleRow).Will(Return.Value(mockDataReader));
            Expect.AtLeastOnce.On(mockDataReader).Method("Dispose").WithNoArguments();

            dataSource = new AdoNetDataSource(MOCK_CONNECTION_STRING, mockConnectionFactory);

            dataReader = dataSource.ExecuteReader(CommandType.Text, "blah blah blah", null, CommandBehavior.SingleRow, null, false);

            Assert.IsNotNull(dataReader);

            dataReader.Dispose();

            mockery.VerifyAllExpectationsHaveBeenMet();
        }