summaryrefslogtreecommitdiff
path: root/slips/src/test/Marina.Test/Unit/DataAccess/DatabaseCommandTest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'slips/src/test/Marina.Test/Unit/DataAccess/DatabaseCommandTest.cs')
-rw-r--r--slips/src/test/Marina.Test/Unit/DataAccess/DatabaseCommandTest.cs48
1 files changed, 48 insertions, 0 deletions
diff --git a/slips/src/test/Marina.Test/Unit/DataAccess/DatabaseCommandTest.cs b/slips/src/test/Marina.Test/Unit/DataAccess/DatabaseCommandTest.cs
new file mode 100644
index 0000000..c08b272
--- /dev/null
+++ b/slips/src/test/Marina.Test/Unit/DataAccess/DatabaseCommandTest.cs
@@ -0,0 +1,48 @@
+using System.Data;
+using Marina.DataAccess;
+using MbUnit.Framework;
+using Rhino.Mocks;
+
+namespace Marina.Test.Unit.DataAccess {
+ [TestFixture]
+ public class DatabaseCommandTest {
+ private MockRepository _mockery;
+ private IDbCommand _mockCommand;
+
+ [SetUp]
+ public void Setup() {
+ _mockery = new MockRepository( );
+ _mockCommand = _mockery.DynamicMock< IDbCommand >( );
+ }
+
+ public IDatabaseCommand CreateSUT() {
+ return new DatabaseCommand( _mockCommand );
+ }
+
+ [Test]
+ public void Should_execute_the_command() {
+ IDataReader mockReader = _mockery.DynamicMock< IDataReader >( );
+
+ using ( _mockery.Record( ) ) {
+ Expect.Call( _mockCommand.ExecuteReader( ) ).Return( mockReader );
+ }
+
+ using ( _mockery.Playback( ) ) {
+ CreateSUT( ).ExecuteQuery( );
+ }
+ }
+
+ [Test]
+ public void Should_return_a_loaded_data_table() {
+ IDataReader mockReader = _mockery.DynamicMock< IDataReader >( );
+
+ using ( _mockery.Record( ) ) {
+ SetupResult.For( _mockCommand.ExecuteReader( ) ).Return( mockReader );
+ }
+
+ using ( _mockery.Playback( ) ) {
+ Assert.IsNotNull( CreateSUT( ).ExecuteQuery( ) );
+ }
+ }
+ }
+} \ No newline at end of file