@@ -733,6 +733,18 @@ public virtual void GetFieldValue_for_TextReader()
733
733
Assert . Equal ( "1" , textReader . ReadToEnd ( ) ) ;
734
734
}
735
735
736
+ [ Fact ]
737
+ public virtual async Task GetFieldValueAsync_for_TextReader ( )
738
+ {
739
+ using var connection = CreateOpenConnection ( ) ;
740
+ using var command = connection . CreateCommand ( ) ;
741
+ command . CommandText = Fixture . CreateSelectSql ( DbType . String , ValueKind . One ) ;
742
+ using var reader = await command . ExecuteReaderAsync ( ) ;
743
+ await reader . ReadAsync ( ) ;
744
+ using var textReader = await reader . GetFieldValueAsync < TextReader > ( 0 ) ;
745
+ Assert . Equal ( "1" , textReader . ReadToEnd ( ) ) ;
746
+ }
747
+
736
748
[ Fact ]
737
749
public virtual void GetFieldValue_for_TextReader_throws_for_null_String ( )
738
750
{
@@ -744,6 +756,17 @@ public virtual void GetFieldValue_for_TextReader_throws_for_null_String()
744
756
Assert . Throws < InvalidCastException > ( ( ) => reader . GetFieldValue < TextReader > ( 0 ) ) ;
745
757
}
746
758
759
+ [ Fact ]
760
+ public virtual async Task GetFieldValueAsync_for_TextReader_throws_for_null_String ( )
761
+ {
762
+ using var connection = CreateOpenConnection ( ) ;
763
+ using var command = connection . CreateCommand ( ) ;
764
+ command . CommandText = Fixture . CreateSelectSql ( DbType . String , ValueKind . Null ) ;
765
+ using var reader = await command . ExecuteReaderAsync ( ) ;
766
+ await reader . ReadAsync ( ) ;
767
+ await Assert . ThrowsAsync < InvalidCastException > ( async ( ) => await reader . GetFieldValueAsync < TextReader > ( 0 ) ) ;
768
+ }
769
+
747
770
[ Fact ]
748
771
public virtual void GetFieldValue_for_Stream ( )
749
772
{
@@ -753,7 +776,19 @@ public virtual void GetFieldValue_for_Stream()
753
776
using var reader = command . ExecuteReader ( ) ;
754
777
reader . Read ( ) ;
755
778
using var stream = reader . GetFieldValue < Stream > ( 0 ) ;
756
- Assert . Equal ( 1 , stream . ReadByte ( ) ) ;
779
+ Assert . Equal ( 0x11 , stream . ReadByte ( ) ) ;
780
+ }
781
+
782
+ [ Fact ]
783
+ public virtual async Task GetFieldValueAsync_for_Stream ( )
784
+ {
785
+ using var connection = CreateOpenConnection ( ) ;
786
+ using var command = connection . CreateCommand ( ) ;
787
+ command . CommandText = Fixture . CreateSelectSql ( DbType . Binary , ValueKind . One ) ;
788
+ using var reader = await command . ExecuteReaderAsync ( ) ;
789
+ await reader . ReadAsync ( ) ;
790
+ using var stream = await reader . GetFieldValueAsync < Stream > ( 0 ) ;
791
+ Assert . Equal ( 0x11 , stream . ReadByte ( ) ) ;
757
792
}
758
793
759
794
[ Fact ]
@@ -767,6 +802,17 @@ public virtual void GetFieldValue_for_Stream_throws_for_null_Binary()
767
802
Assert . Throws < InvalidCastException > ( ( ) => reader . GetFieldValue < Stream > ( 0 ) ) ;
768
803
}
769
804
805
+ [ Fact ]
806
+ public virtual async Task GetFieldValueAsync_for_Stream_throws_for_null_Binary ( )
807
+ {
808
+ using var connection = CreateOpenConnection ( ) ;
809
+ using var command = connection . CreateCommand ( ) ;
810
+ command . CommandText = Fixture . CreateSelectSql ( DbType . Binary , ValueKind . Null ) ;
811
+ using var reader = await command . ExecuteReaderAsync ( ) ;
812
+ await reader . ReadAsync ( ) ;
813
+ await Assert . ThrowsAsync < InvalidCastException > ( async ( ) => await reader . GetFieldValueAsync < Stream > ( 0 ) ) ;
814
+ }
815
+
770
816
[ Fact ]
771
817
public virtual void FieldCount_is_zero_after_Delete ( ) => Test_X_after_Delete ( x => Assert . Equal ( 0 , x . FieldCount ) ) ;
772
818
0 commit comments