@@ -101,28 +101,38 @@ public static async Task ReadWriteBlittableTypeAsync()
101101 Equal ( 10M , ( await ms . ReadAsync < Blittable < decimal > > ( buffer ) ) . Value ) ;
102102 }
103103
104- [ Fact ]
105- public static async Task BinaryReaderInterop ( )
104+ [ Theory ]
105+ [ InlineData ( 7 ) ]
106+ [ InlineData ( 16 ) ]
107+ [ InlineData ( 0x7F ) ]
108+ [ InlineData ( 0x80 ) ]
109+ public static async Task BinaryReaderInterop ( int length )
106110 {
111+ var expected = Random . Shared . NextString ( Alphabet + AlphabetUpperCase + Numbers , length ) ;
107112 using var ms = new MemoryStream ( ) ;
108- await ms . EncodeAsync ( "ABC" . AsMemory ( ) , Encoding . UTF8 , LengthFormat . Compressed , new byte [ 16 ] ) ;
113+ await ms . EncodeAsync ( expected . AsMemory ( ) , Encoding . UTF8 , LengthFormat . Compressed , new byte [ 16 ] ) ;
109114 ms . Position = 0 ;
110115 using var reader = new BinaryReader ( ms , Encoding . UTF8 , true ) ;
111- Equal ( "ABC" , reader . ReadString ( ) ) ;
116+ Equal ( expected , reader . ReadString ( ) ) ;
112117 }
113118
114- [ Fact ]
115- public static async Task BinaryWriterInterop ( )
119+ [ Theory ]
120+ [ InlineData ( 7 ) ]
121+ [ InlineData ( 16 ) ]
122+ [ InlineData ( 0x7F ) ]
123+ [ InlineData ( 0x80 ) ]
124+ public static async Task BinaryWriterInterop ( int length )
116125 {
126+ var expected = Random . Shared . NextString ( Alphabet + AlphabetUpperCase + Numbers , length ) ;
117127 using var ms = new MemoryStream ( ) ;
118- using ( var writer = new BinaryWriter ( ms , Encoding . UTF8 , true ) )
128+ await using ( var writer = new BinaryWriter ( ms , Encoding . UTF8 , true ) )
119129 {
120- writer . Write ( "ABC" ) ;
130+ writer . Write ( expected ) ;
121131 }
122132 ms . Position = 0 ;
123133
124134 using var result = await ms . DecodeAsync ( Encoding . UTF8 , LengthFormat . Compressed , new byte [ 16 ] ) ;
125- Equal ( "ABC" , result . ToString ( ) ) ;
135+ Equal ( expected , result . Span ) ;
126136 }
127137
128138 [ Fact ]
0 commit comments