public void ExecuteScalarUsesTypeConvertersToResolveResultType() { var result = (byte)1; var mockSqlDialect = new Mock <ISqlDialect>(); var mockCommand = new Mock <IDbCommand>(); mockCommand.Setup(x => x.ExecuteScalar()).Returns(result); var mockConnection = new Mock <IDbConnection>(); mockConnection.Setup(x => x.CreateCommand()).Returns(mockCommand.Object); var mockDbDriver = new Mock <IDbDriver>(); mockDbDriver.Setup(x => x.CreateConnection()).Returns(new MockDbConnectionWrapper(mockConnection.Object)); var session = new AsyncSession( ConnectionScope.PerTransaction, mockSqlDialect.Object, mockDbDriver.Object, new SessionListeners()); Assert.Equal((CustomerStatus)result, session.ExecuteScalarAsync <CustomerStatus>(new SqlQuery("")).Result); mockDbDriver.VerifyAll(); mockCommand.VerifyAll(); }
public void ExecuteScalarBuildsAndExecutesCommand() { var result = new object(); var mockSqlDialect = new Mock <ISqlDialect>(); var mockCommand = new Mock <IDbCommand>(); mockCommand.Setup(x => x.ExecuteScalar()).Returns(result); var mockConnection = new Mock <IDbConnection>(); mockConnection.Setup(x => x.CreateCommand()).Returns(mockCommand.Object); var mockDbDriver = new Mock <IDbDriver>(); mockDbDriver.Setup(x => x.CreateConnection()).Returns(new MockDbConnectionWrapper(mockConnection.Object)); var session = new AsyncSession( ConnectionScope.PerTransaction, mockSqlDialect.Object, mockDbDriver.Object, new SessionListeners()); Assert.Equal(result, session.ExecuteScalarAsync <object>(new SqlQuery("")).Result); mockDbDriver.VerifyAll(); mockCommand.VerifyAll(); }
public void ExecuteScalarThrowsArgumentNullExceptionForNullSqlQuery() { var session = new AsyncSession( ConnectionScope.PerTransaction, new Mock <ISqlDialect>().Object, new Mock <IDbDriver>().Object, new SessionListeners()); var exception = Assert.Throws <AggregateException>( () => session.ExecuteScalarAsync <object>(null).Result); Assert.Equal("sqlQuery", ((ArgumentNullException)exception.InnerException).ParamName); }
public void ExecuteScalarThrowsObjectDisposedExceptionIfDisposed() { var session = new AsyncSession( ConnectionScope.PerTransaction, new Mock <ISqlDialect>().Object, new Mock <IDbDriver>().Object, new SessionListeners()); using (session) { } var exception = Assert.Throws <AggregateException>( () => session.ExecuteScalarAsync <int>(new SqlQuery("SELECT")).Result); Assert.IsType <ObjectDisposedException>(exception.InnerException); }
public void ExecuteScalarUsesTypeConvertersToResolveResultType() { var result = (byte)1; var mockSqlDialect = new Mock<ISqlDialect>(); var mockCommand = new Mock<IDbCommand>(); mockCommand.Setup(x => x.ExecuteScalar()).Returns(result); var mockConnection = new Mock<IDbConnection>(); mockConnection.Setup(x => x.CreateCommand()).Returns(mockCommand.Object); var mockDbDriver = new Mock<IDbDriver>(); mockDbDriver.Setup(x => x.CreateConnection()).Returns(new MockDbConnectionWrapper(mockConnection.Object)); var session = new AsyncSession( ConnectionScope.PerTransaction, mockSqlDialect.Object, mockDbDriver.Object, new IDeleteListener[0], new IInsertListener[0], new IUpdateListener[0]); Assert.Equal((CustomerStatus)result, session.ExecuteScalarAsync<CustomerStatus>(new SqlQuery("")).Result); mockDbDriver.VerifyAll(); mockCommand.VerifyAll(); }
public void ExecuteScalarThrowsObjectDisposedExceptionIfDisposed() { var session = new AsyncSession( ConnectionScope.PerTransaction, new Mock<ISqlDialect>().Object, new Mock<IDbDriver>().Object, new IDeleteListener[0], new IInsertListener[0], new IUpdateListener[0]); using (session) { } var exception = Assert.Throws<AggregateException>( () => session.ExecuteScalarAsync<int>(new SqlQuery("SELECT")).Result); Assert.IsType<ObjectDisposedException>(exception.InnerException); }
public void ExecuteScalarThrowsArgumentNullExceptionForNullSqlQuery() { var session = new AsyncSession( ConnectionScope.PerTransaction, new Mock<ISqlDialect>().Object, new Mock<IDbDriver>().Object, new IDeleteListener[0], new IInsertListener[0], new IUpdateListener[0]); var exception = Assert.Throws<AggregateException>( () => session.ExecuteScalarAsync<object>(null).Result); Assert.Equal("sqlQuery", ((ArgumentNullException)exception.InnerException).ParamName); }
public void ExecuteScalarBuildsAndExecutesCommand() { var result = new object(); var mockSqlDialect = new Mock<ISqlDialect>(); var mockCommand = new Mock<IDbCommand>(); mockCommand.Setup(x => x.ExecuteScalar()).Returns(result); var mockConnection = new Mock<IDbConnection>(); mockConnection.Setup(x => x.CreateCommand()).Returns(mockCommand.Object); var mockDbDriver = new Mock<IDbDriver>(); mockDbDriver.Setup(x => x.CreateConnection()).Returns(new MockDbConnectionWrapper(mockConnection.Object)); var session = new AsyncSession( ConnectionScope.PerTransaction, mockSqlDialect.Object, mockDbDriver.Object, new IDeleteListener[0], new IInsertListener[0], new IUpdateListener[0]); Assert.Equal(result, session.ExecuteScalarAsync<object>(new SqlQuery("")).Result); mockDbDriver.VerifyAll(); mockCommand.VerifyAll(); }