public void make_sure_that_the_constructor_initializes_everything_ok() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, true); cmd.DidNotReceiveWithAnyArgs().ExecuteReader(); }
public void make_sure_that_the_constructor_initializes_everything_ok() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, true); cmd.DidNotReceiveWithAnyArgs().ExecuteReader(); }
public void movenext_should_NOT_execute_the_command_when_called_for_the_First_time_if_it_was_passed_in_the_constructor() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, true); sut.MoveNext(); cmd.DidNotReceive().ExecuteReader(); }
public void should_dispose_command() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, true); sut.Dispose(); cmd.Received().Dispose(); }
public void dispose_reader_if_it_has_been_specified() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, true); sut.Dispose(); reader.Received().Dispose(); }
public void movenext_should_execute_reader_Read() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, true); var actual = sut.MoveNext(); reader.Received().Read(); actual.Should().BeFalse(); }
public void Reset_is_not_allowed_as_we_cant_move_backwards_with_a_reader() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); reader.Read(); var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, true); Action actual = sut.Reset; actual.ShouldThrow<InvalidOperationException>(); }
public void movenext_should_NOT_execute_the_command_when_called_for_the_First_time_if_it_was_passed_in_the_constructor() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, true); sut.MoveNext(); cmd.DidNotReceive().ExecuteReader(); }
public void movenext_should_execute_reader_Read() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, true); var actual = sut.MoveNext(); reader.Received().Read(); actual.Should().BeFalse(); }
public void movenext_should_return_Value_from_Read() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); reader.Read().Returns(true); var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, true); var actual = sut.MoveNext(); actual.Should().BeTrue(); }
public void may_not_call_Current_before_MoveNext_as_we_need_to_move_to_the_first_record_first() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); object tmp = null; var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, false); Action actual = () => tmp = sut.Current; actual.ShouldThrow <InvalidOperationException>(); }
public void movenext_should_return_Value_from_Read() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); reader.Read().Returns(true); var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, true); var actual = sut.MoveNext(); actual.Should().BeTrue(); }
public void Reset_is_not_allowed_as_we_cant_move_backwards_with_a_reader() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); reader.Read(); var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, true); Action actual = sut.Reset; actual.ShouldThrow <InvalidOperationException>(); }
public void should_NOT_dispose_connection_if_its_nots_owned() { var connection = Substitute.For <IDbConnection>(); var cmd = Substitute.For <IDbCommand>(); cmd.Connection.Returns(connection); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <string> >(); var sut = new AdoNetEntityEnumerator <string>(cmd, reader, mapper, false); sut.Dispose(); connection.DidNotReceive().Dispose(); }
public void map_a_record_first_time_Current_is_invoked() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <Wrapper> >(); var wrapper = new Wrapper(); var expected = "Hello"; mapper.Create(reader).Returns(wrapper); mapper.Map(reader, Arg.Do <object>(x => wrapper.Value = expected)); var sut = new AdoNetEntityEnumerator <Wrapper>(cmd, reader, mapper, false); sut.MoveNext(); var actual = sut.Current; actual.Value.Should().Be(expected); }
public void only_populate_Current_once_even_if_called_multiple_times_for_the_same_entity() { var cmd = Substitute.For <IDbCommand>(); var reader = Substitute.For <IDataReader>(); var mapper = Substitute.For <IEntityMapper <Wrapper> >(); var expected = "Hello"; mapper.Map(reader, Arg.Do <object>(x => ((Wrapper)x).Value = expected)); mapper.Create(reader).Returns(new Wrapper()); var sut = new AdoNetEntityEnumerator <Wrapper>(cmd, reader, mapper, false); sut.MoveNext(); sut.Current.Should().NotBeNull(); mapper.ClearReceivedCalls(); var actual = sut.Current; mapper.DidNotReceiveWithAnyArgs().Map(null, null); }
public void only_populate_Current_once_even_if_called_multiple_times_for_the_same_entity() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<Wrapper>>(); var expected = "Hello"; mapper.Map(reader, Arg.Do<object>(x => ((Wrapper)x).Value = expected)); mapper.Create(reader).Returns(new Wrapper()); var sut = new AdoNetEntityEnumerator<Wrapper>(cmd, reader, mapper, false); sut.MoveNext(); sut.Current.Should().NotBeNull(); mapper.ClearReceivedCalls(); var actual = sut.Current; mapper.DidNotReceiveWithAnyArgs().Map(null, null); }
public void may_not_call_Current_before_MoveNext_as_we_need_to_move_to_the_first_record_first() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); object tmp = null; var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, false); Action actual = () => tmp = sut.Current; actual.ShouldThrow<InvalidOperationException>(); }
public void should_dispose_command() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, true); sut.Dispose(); cmd.Received().Dispose(); }
public void dispose_reader_if_it_has_been_specified() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, true); sut.Dispose(); reader.Received().Dispose(); }
public void should_NOT_dispose_connection_if_its_nots_owned() { var connection = Substitute.For<IDbConnection>(); var cmd = Substitute.For<IDbCommand>(); cmd.Connection.Returns(connection); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<string>>(); var sut = new AdoNetEntityEnumerator<string>(cmd, reader, mapper, false); sut.Dispose(); connection.DidNotReceive().Dispose(); }
public void map_a_record_first_time_Current_is_invoked() { var cmd = Substitute.For<IDbCommand>(); var reader = Substitute.For<IDataReader>(); var mapper = Substitute.For<IEntityMapper<Wrapper>>(); var wrapper = new Wrapper(); var expected = "Hello"; mapper.Create(reader).Returns(wrapper); mapper.Map(reader, Arg.Do<object>(x => wrapper.Value = expected)); var sut = new AdoNetEntityEnumerator<Wrapper>(cmd, reader, mapper, false); sut.MoveNext(); var actual = sut.Current; actual.Value.Should().Be(expected); }