public void CreateOperations() { IDbProvider dbProvider = mocks.StrictMock <IDbProvider>(); IDbConnection mockConnection = mocks.StrictMock <IDbConnection>(); Expect.Call(dbProvider.CreateConnection()).Return(mockConnection).Repeat.Once(); IDbCommand mockCommand = (IDbCommand)mocks.CreateMock(typeof(IDbCommand)); Expect.Call(dbProvider.CreateCommand()).Return(mockCommand).Repeat.Once(); IDbDataParameter mockParameter = (IDbDataParameter)mocks.CreateMock(typeof(IDbDataParameter)); Expect.Call(dbProvider.CreateParameter()).Return(mockParameter).Repeat.Once(); IDbDataAdapter mockDataAdapter = (IDbDataAdapter)mocks.CreateMock(typeof(IDbDataAdapter)); Expect.Call(dbProvider.CreateDataAdapter()).Return(mockDataAdapter).Repeat.Once(); DbCommandBuilder mockDbCommandBuilder = (DbCommandBuilder)mocks.CreateMock(typeof(DbCommandBuilder)); Expect.Call(dbProvider.CreateCommandBuilder()).Return(mockDbCommandBuilder).Repeat.Once(); Expect.Call(dbProvider.CreateParameterName("p1")).Return("@p1").Repeat.Once(); Expect.Call(dbProvider.CreateParameterNameForCollection("c1")).Return("cc1"); IDbMetadata mockDbMetaData = (IDbMetadata)mocks.CreateMock(typeof(IDbMetadata)); Expect.Call(dbProvider.DbMetadata).Return(mockDbMetaData); Exception e = new Exception("foo"); Expect.Call(dbProvider.ExtractError(e)).Return("badsql").Repeat.Once(); DbException dbException = (DbException)mocks.CreateMock(typeof(DbException)); MultiDelegatingDbProvider multiDbProvider = new MultiDelegatingDbProvider(); IDictionary targetDbProviders = new Hashtable(); targetDbProviders.Add("db1", dbProvider); multiDbProvider.DefaultDbProvider = dbProvider; multiDbProvider.TargetDbProviders = targetDbProviders; multiDbProvider.AfterPropertiesSet(); mocks.ReplayAll(); Assert.IsNotNull(multiDbProvider.CreateConnection()); Assert.IsNotNull(multiDbProvider.CreateCommand()); Assert.IsNotNull(multiDbProvider.CreateParameter()); Assert.IsNotNull(multiDbProvider.CreateDataAdapter()); Assert.IsNotNull(multiDbProvider.CreateCommandBuilder() as DbCommandBuilder); Assert.AreEqual("@p1", multiDbProvider.CreateParameterName("p1")); Assert.AreEqual("cc1", multiDbProvider.CreateParameterNameForCollection("c1")); Assert.IsNotNull(multiDbProvider.DbMetadata); Assert.AreEqual("badsql", multiDbProvider.ExtractError(e)); Assert.IsTrue(multiDbProvider.IsDataAccessException(dbException)); Assert.IsFalse(multiDbProvider.IsDataAccessException(e)); mocks.VerifyAll(); }
public void CreateOperations() { IDbProvider dbProvider = A.Fake <IDbProvider>(); IDbConnection mockConnection = A.Fake <IDbConnection>(); A.CallTo(() => dbProvider.CreateConnection()).Returns(mockConnection).Once(); IDbCommand mockCommand = A.Fake <IDbCommand>(); A.CallTo(() => dbProvider.CreateCommand()).Returns(mockCommand).Once(); IDbDataParameter mockParameter = A.Fake <IDbDataParameter>(); A.CallTo(() => dbProvider.CreateParameter()).Returns(mockParameter).Once(); IDbDataAdapter mockDataAdapter = A.Fake <IDbDataAdapter>(); A.CallTo(() => dbProvider.CreateDataAdapter()).Returns(mockDataAdapter).Once(); DbCommandBuilder mockDbCommandBuilder = A.Fake <DbCommandBuilder>(); A.CallTo(() => dbProvider.CreateCommandBuilder()).Returns(mockDbCommandBuilder).Once(); A.CallTo(() => dbProvider.CreateParameterName("p1")).Returns("@p1").Once(); A.CallTo(() => dbProvider.CreateParameterNameForCollection("c1")).Returns("cc1"); IDbMetadata mockDbMetaData = A.Fake <IDbMetadata>(); A.CallTo(() => dbProvider.DbMetadata).Returns(mockDbMetaData); Exception e = new Exception("foo"); A.CallTo(() => dbProvider.ExtractError(e)).Returns("badsql").Once(); DbException dbException = A.Fake <DbException>(); MultiDelegatingDbProvider multiDbProvider = new MultiDelegatingDbProvider(); IDictionary targetDbProviders = new Hashtable(); targetDbProviders.Add("db1", dbProvider); multiDbProvider.DefaultDbProvider = dbProvider; multiDbProvider.TargetDbProviders = targetDbProviders; multiDbProvider.AfterPropertiesSet(); Assert.IsNotNull(multiDbProvider.CreateConnection()); Assert.IsNotNull(multiDbProvider.CreateCommand()); Assert.IsNotNull(multiDbProvider.CreateParameter()); Assert.IsNotNull(multiDbProvider.CreateDataAdapter()); Assert.IsNotNull(multiDbProvider.CreateCommandBuilder() as DbCommandBuilder); Assert.AreEqual("@p1", multiDbProvider.CreateParameterName("p1")); Assert.AreEqual("cc1", multiDbProvider.CreateParameterNameForCollection("c1")); Assert.IsNotNull(multiDbProvider.DbMetadata); Assert.AreEqual("badsql", multiDbProvider.ExtractError(e)); Assert.IsTrue(multiDbProvider.IsDataAccessException(dbException)); Assert.IsFalse(multiDbProvider.IsDataAccessException(e)); }
public void CreateOperations() { IDbProvider dbProvider = (IDbProvider)mocks.CreateMock(typeof(IDbProvider)); IDbConnection mockConnection = (IDbConnection)mocks.CreateMock(typeof(IDbConnection)); Expect.Call(dbProvider.CreateConnection()).Return(mockConnection).Repeat.Once(); IDbCommand mockCommand = (IDbCommand)mocks.CreateMock(typeof(IDbCommand)); Expect.Call(dbProvider.CreateCommand()).Return(mockCommand).Repeat.Once(); IDbDataParameter mockParameter = (IDbDataParameter) mocks.CreateMock(typeof (IDbDataParameter)); Expect.Call(dbProvider.CreateParameter()).Return(mockParameter).Repeat.Once(); IDbDataAdapter mockDataAdapter = (IDbDataAdapter) mocks.CreateMock(typeof (IDbDataAdapter)); Expect.Call(dbProvider.CreateDataAdapter()).Return(mockDataAdapter).Repeat.Once(); DbCommandBuilder mockDbCommandBuilder = (DbCommandBuilder) mocks.CreateMock(typeof (DbCommandBuilder)); Expect.Call(dbProvider.CreateCommandBuilder()).Return(mockDbCommandBuilder).Repeat.Once(); Expect.Call(dbProvider.CreateParameterName("p1")).Return("@p1").Repeat.Once(); Expect.Call(dbProvider.CreateParameterNameForCollection("c1")).Return("cc1"); IDbMetadata mockDbMetaData = (IDbMetadata) mocks.CreateMock(typeof (IDbMetadata)); Expect.Call(dbProvider.DbMetadata).Return(mockDbMetaData); Exception e = new Exception("foo"); Expect.Call(dbProvider.ExtractError(e)).Return("badsql").Repeat.Once(); DbException dbException = (DbException) mocks.CreateMock(typeof (DbException)); MultiDelegatingDbProvider multiDbProvider = new MultiDelegatingDbProvider(); IDictionary targetDbProviders = new Hashtable(); targetDbProviders.Add("db1", dbProvider); multiDbProvider.DefaultDbProvider = dbProvider; multiDbProvider.TargetDbProviders = targetDbProviders; multiDbProvider.AfterPropertiesSet(); mocks.ReplayAll(); Assert.IsNotNull(multiDbProvider.CreateConnection()); Assert.IsNotNull(multiDbProvider.CreateCommand()); Assert.IsNotNull(multiDbProvider.CreateParameter()); Assert.IsNotNull(multiDbProvider.CreateDataAdapter()); Assert.IsNotNull(multiDbProvider.CreateCommandBuilder() as DbCommandBuilder); Assert.AreEqual("@p1", multiDbProvider.CreateParameterName("p1")); Assert.AreEqual("cc1", multiDbProvider.CreateParameterNameForCollection("c1")); Assert.IsNotNull(multiDbProvider.DbMetadata); Assert.AreEqual("badsql", multiDbProvider.ExtractError(e)); Assert.IsTrue(multiDbProvider.IsDataAccessException(dbException)); Assert.IsFalse(multiDbProvider.IsDataAccessException(e)); mocks.VerifyAll(); }