diff --git a/src/AdoNet.Specification.Tests/DataReaderTestBase.cs b/src/AdoNet.Specification.Tests/DataReaderTestBase.cs index 37af77a..55fa324 100644 --- a/src/AdoNet.Specification.Tests/DataReaderTestBase.cs +++ b/src/AdoNet.Specification.Tests/DataReaderTestBase.cs @@ -744,6 +744,29 @@ public virtual void GetFieldValue_for_TextReader_throws_for_null_String() Assert.Throws(() => reader.GetFieldValue(0)); } + [Fact] + public virtual void GetFieldValue_for_Stream() + { + using var connection = CreateOpenConnection(); + using var command = connection.CreateCommand(); + command.CommandText = Fixture.CreateSelectSql(DbType.Binary, ValueKind.One); + using var reader = command.ExecuteReader(); + reader.Read(); + using var stream = reader.GetFieldValue(0); + Assert.Equal(1, stream.ReadByte()); + } + + [Fact] + public virtual void GetFieldValue_for_Stream_throws_for_null_Binary() + { + using var connection = CreateOpenConnection(); + using var command = connection.CreateCommand(); + command.CommandText = Fixture.CreateSelectSql(DbType.Binary, ValueKind.Null); + using var reader = command.ExecuteReader(); + reader.Read(); + Assert.Throws(() => reader.GetFieldValue(0)); + } + [Fact] public virtual void FieldCount_is_zero_after_Delete() => Test_X_after_Delete(x => Assert.Equal(0, x.FieldCount));