@@ -191,28 +191,47 @@ public void Read_should_throw_when_offset_is_invalid(int bufferLength, int offse
191191
192192 [ Theory ]
193193 [ InlineData ( 0 , 1 , SeekOrigin . Begin , 1 ) ]
194- [ InlineData ( 1 , 1 , SeekOrigin . Current , 2 ) ]
195- [ InlineData ( 2 , - 1 , SeekOrigin . End , 1 ) ]
194+ [ InlineData ( 5 , 1 , SeekOrigin . Begin , 1 ) ]
195+ [ InlineData ( 9 , 1 , SeekOrigin . Begin , 1 ) ]
196+ [ InlineData ( 0 , 1 , SeekOrigin . Current , 1 ) ]
197+ [ InlineData ( 5 , 1 , SeekOrigin . Current , 6 ) ]
198+ [ InlineData ( 8 , 1 , SeekOrigin . Current , 9 ) ]
199+ [ InlineData ( 0 , - 1 , SeekOrigin . End , 9 ) ]
200+ [ InlineData ( 5 , - 1 , SeekOrigin . End , 9 ) ]
201+ [ InlineData ( 9 , - 1 , SeekOrigin . End , 9 ) ]
196202 public void Seek_should_return_expected_result(
197203 long position ,
198204 long offset ,
199205 SeekOrigin origin ,
200206 long expectedResult )
201207 {
202- var subject = CreateSubject( ) ;
208+ var subject = CreateSubject( 10 ) ;
203209 subject. Position = position ;
204210
205211 var result = subject. Seek( offset , origin ) ;
206212
207213 result . Should ( ) . Be( expectedResult ) ;
208214 }
209215
210- [ Fact ]
211- public void Seek_should_throw_when_new_position_is_negative( )
216+ [ Theory ]
217+ [ InlineData ( 0 , - 1 , SeekOrigin . Begin ) ]
218+ [ InlineData ( 5 , - 1 , SeekOrigin . Begin ) ]
219+ [ InlineData ( 9 , 10 , SeekOrigin . Begin ) ]
220+ [ InlineData ( 0 , - 1 , SeekOrigin . Current ) ]
221+ [ InlineData ( 5 , - 6 , SeekOrigin . Current ) ]
222+ [ InlineData ( 8 , 3 , SeekOrigin . Current ) ]
223+ [ InlineData ( 0 , 0 , SeekOrigin . End ) ]
224+ [ InlineData ( 5 , 1 , SeekOrigin . End ) ]
225+ [ InlineData ( 9 , - 11 , SeekOrigin . End ) ]
226+ public void Seek_should_throw_when_new_position_is_out_of_range(
227+ long position ,
228+ long offset ,
229+ SeekOrigin origin )
212230 {
213- var subject = CreateSubject( ) ;
231+ var subject = CreateSubject ( 10 ) ;
232+ subject . Position = position ;
214233
215- Action action = ( ) => subject . Seek ( - 1 , SeekOrigin . Begin ) ;
234+ Action action = ( ) => subject . Seek ( offset , origin ) ;
216235
217236 action. ShouldThrow < IOException > ( ) ;
218237 }
0 commit comments