From d12c87d85a4cf7c91d8eec7f45263269c72cf7d7 Mon Sep 17 00:00:00 2001 From: Yoh Deadfall Date: Sun, 20 Sep 2020 11:47:41 +0300 Subject: [PATCH] Added GetFieldValue test to retrieve Stream Fixes #144 --- .../DataReaderTestBase.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) 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));