public void ShouldExecuteScalarTextNoParametersTest() { Mockery mockery; AdoNetDataSource dataSource; IConnectionFactory mockConnectionFactory; IDbConnection mockDbConnection; IDbCommand mockDbCommand; IDataParameterCollection mockDataParameterCollection; object returnValue; mockery = new Mockery(); mockConnectionFactory = mockery.NewMock<IConnectionFactory>(); mockDbConnection = mockery.NewMock<IDbConnection>(); mockDbCommand = mockery.NewMock<IDbCommand>(); mockDataParameterCollection = mockery.NewMock<IDataParameterCollection>(); 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("ExecuteScalar").WithNoArguments().Will(Return.Value(1)); Expect.AtLeastOnce.On(mockDbCommand).SetProperty("CommandTimeout").To(15); Expect.AtLeastOnce.On(mockDbCommand).Method("Prepare").WithNoArguments(); dataSource = new AdoNetDataSource(MOCK_CONNECTION_STRING, mockConnectionFactory); returnValue = dataSource.ExecuteScalar(CommandType.Text, "blah blah blah", null, 15, true); Assert.AreEqual(1, returnValue); mockery.VerifyAllExpectationsHaveBeenMet(); }
public void ShouldExecuteScalarSprocWithParametersTest() { Mockery mockery; AdoNetDataSource dataSource; IConnectionFactory mockConnectionFactory; IDbConnection mockDbConnection; IDbCommand mockDbCommand; IDataParameterCollection mockDataParameterCollection; IDataParameter[] mockDataParameters; IDataParameter mockDataParameter0; IDataParameter mockDataParameter1; object returnValue; mockery = new Mockery(); mockConnectionFactory = mockery.NewMock<IConnectionFactory>(); mockDbConnection = mockery.NewMock<IDbConnection>(); mockDbCommand = mockery.NewMock<IDbCommand>(); mockDataParameterCollection = mockery.NewMock<IDataParameterCollection>(); mockDataParameter0 = mockery.NewMock<IDataParameter>(); mockDataParameter1 = mockery.NewMock<IDataParameter>(); mockDataParameters = new IDataParameter[] { mockDataParameter0, mockDataParameter1 }; 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.StoredProcedure); Expect.AtLeastOnce.On(mockDbCommand).SetProperty("CommandText").To("blah blah blah"); Expect.AtLeastOnce.On(mockDbCommand).SetProperty("Transaction"); Expect.AtLeastOnce.On(mockDbCommand).Method("ExecuteScalar").WithNoArguments().Will(Return.Value(1)); Expect.AtLeastOnce.On(mockDataParameter0).GetProperty("Value").Will(Return.Value(1)); Expect.AtLeastOnce.On(mockDataParameter1).GetProperty("Value").Will(Return.Value(null)); Expect.AtLeastOnce.On(mockDataParameter1).SetProperty("Value").To(DBNull.Value); Expect.AtLeastOnce.On(mockDataParameterCollection).Method("Add").With(mockDataParameter0).Will(Return.Value(0)); Expect.AtLeastOnce.On(mockDataParameterCollection).Method("Add").With(mockDataParameter1).Will(Return.Value(0)); dataSource = new AdoNetDataSource(MOCK_CONNECTION_STRING, mockConnectionFactory); returnValue = dataSource.ExecuteScalar(CommandType.StoredProcedure, "blah blah blah", mockDataParameters, null, false); Assert.AreEqual(1, returnValue); mockery.VerifyAllExpectationsHaveBeenMet(); }