@@ -191,74 +191,78 @@ public void WriteByte_ReportsBytesWritten()
191191 public void BeginEndWrite_ReportsBytesWritten ( )
192192 {
193193 // Arrange
194- ManualResetEvent writeComplete = new ManualResetEvent ( false ) ;
195- HttpRequestMessage request = CreateRequest ( ) ;
196- Stream innerStream = new MemoryStream ( ) ;
197- byte [ ] buffer = CreateBufferContent ( ) ;
198- long ? expectedLength = request . Content . Headers . ContentLength ;
199- MockProgressEventHandler mockProgressEventHandler ;
200- ProgressMessageHandler progressMessageHandler = MockProgressEventHandler . CreateProgressMessageHandler ( out mockProgressEventHandler , sendProgress : true ) ;
201- ProgressStream progressStream = CreateProgressStream ( innerStream : innerStream , progressMessageHandler : progressMessageHandler , request : request ) ;
202- object userState = new object ( ) ;
203-
204- // Act/Assert
205- int totalBytesWritten = 0 ;
206- int bytesWritten = 0 ;
207- while ( totalBytesWritten < expectedLength )
194+ using ( ManualResetEvent writeComplete = new ManualResetEvent ( false ) )
208195 {
209- bytesWritten = Math . Min ( 8 , ( int ) expectedLength - totalBytesWritten ) ;
210- IAsyncResult result = progressStream . BeginWrite ( buffer , totalBytesWritten , bytesWritten ,
211- ia =>
212- {
213- progressStream . EndWrite ( ia ) ;
214- writeComplete . Set ( ) ;
215- } ,
216- userState ) ;
217-
218- writeComplete . WaitOne ( ) ;
219- writeComplete . Reset ( ) ;
220- totalBytesWritten += bytesWritten ;
221-
222- Assert . Same ( userState , mockProgressEventHandler . EventArgs . UserState ) ;
223- Assert . Equal ( totalBytesWritten , mockProgressEventHandler . EventArgs . BytesTransferred ) ;
224- Assert . Equal ( ( 100L * totalBytesWritten ) / expectedLength , mockProgressEventHandler . EventArgs . ProgressPercentage ) ;
196+ HttpRequestMessage request = CreateRequest ( ) ;
197+ Stream innerStream = new MemoryStream ( ) ;
198+ byte [ ] buffer = CreateBufferContent ( ) ;
199+ long ? expectedLength = request . Content . Headers . ContentLength ;
200+ MockProgressEventHandler mockProgressEventHandler ;
201+ ProgressMessageHandler progressMessageHandler = MockProgressEventHandler . CreateProgressMessageHandler ( out mockProgressEventHandler , sendProgress : true ) ;
202+ ProgressStream progressStream = CreateProgressStream ( innerStream : innerStream , progressMessageHandler : progressMessageHandler , request : request ) ;
203+ object userState = new object ( ) ;
204+
205+ // Act/Assert
206+ int totalBytesWritten = 0 ;
207+ int bytesWritten = 0 ;
208+ while ( totalBytesWritten < expectedLength )
209+ {
210+ bytesWritten = Math . Min ( 8 , ( int ) expectedLength - totalBytesWritten ) ;
211+ IAsyncResult result = progressStream . BeginWrite ( buffer , totalBytesWritten , bytesWritten ,
212+ ia =>
213+ {
214+ progressStream . EndWrite ( ia ) ;
215+ writeComplete . Set ( ) ;
216+ } ,
217+ userState ) ;
218+
219+ writeComplete . WaitOne ( ) ;
220+ writeComplete . Reset ( ) ;
221+ totalBytesWritten += bytesWritten ;
222+
223+ Assert . Same ( userState , mockProgressEventHandler . EventArgs . UserState ) ;
224+ Assert . Equal ( totalBytesWritten , mockProgressEventHandler . EventArgs . BytesTransferred ) ;
225+ Assert . Equal ( ( 100L * totalBytesWritten ) / expectedLength , mockProgressEventHandler . EventArgs . ProgressPercentage ) ;
226+ }
227+
228+ Assert . Equal ( expectedLength , mockProgressEventHandler . EventArgs . TotalBytes ) ;
229+ Assert . Equal ( 100 , mockProgressEventHandler . EventArgs . ProgressPercentage ) ;
225230 }
226-
227- Assert . Equal ( expectedLength , mockProgressEventHandler . EventArgs . TotalBytes ) ;
228- Assert . Equal ( 100 , mockProgressEventHandler . EventArgs . ProgressPercentage ) ;
229231 }
230232#endif
231233
232234 [ Fact ]
233235 public async Task WriteAsync_ReportsBytesWritten ( )
234236 {
235237 // Arrange
236- ManualResetEvent writeComplete = new ManualResetEvent ( false ) ;
237- HttpRequestMessage request = CreateRequest ( ) ;
238- Stream innerStream = new MemoryStream ( ) ;
239- byte [ ] buffer = CreateBufferContent ( ) ;
240- long ? expectedLength = request . Content . Headers . ContentLength ;
241- MockProgressEventHandler mockProgressEventHandler ;
242- ProgressMessageHandler progressMessageHandler = MockProgressEventHandler . CreateProgressMessageHandler ( out mockProgressEventHandler , sendProgress : true ) ;
243- ProgressStream progressStream = CreateProgressStream ( innerStream : innerStream , progressMessageHandler : progressMessageHandler , request : request ) ;
244- object userState = new object ( ) ;
245-
246- // Act/Assert
247- int totalBytesWritten = 0 ;
248- int bytesWritten = 0 ;
249- while ( totalBytesWritten < expectedLength )
238+ using ( ManualResetEvent writeComplete = new ManualResetEvent ( false ) )
250239 {
251- bytesWritten = Math . Min ( 8 , ( int ) expectedLength - totalBytesWritten ) ;
252- await progressStream . WriteAsync ( buffer , totalBytesWritten , bytesWritten ) ;
253-
254- totalBytesWritten += bytesWritten ;
255-
256- Assert . Equal ( totalBytesWritten , mockProgressEventHandler . EventArgs . BytesTransferred ) ;
257- Assert . Equal ( ( 100L * totalBytesWritten ) / expectedLength , mockProgressEventHandler . EventArgs . ProgressPercentage ) ;
240+ HttpRequestMessage request = CreateRequest ( ) ;
241+ Stream innerStream = new MemoryStream ( ) ;
242+ byte [ ] buffer = CreateBufferContent ( ) ;
243+ long ? expectedLength = request . Content . Headers . ContentLength ;
244+ MockProgressEventHandler mockProgressEventHandler ;
245+ ProgressMessageHandler progressMessageHandler = MockProgressEventHandler . CreateProgressMessageHandler ( out mockProgressEventHandler , sendProgress : true ) ;
246+ ProgressStream progressStream = CreateProgressStream ( innerStream : innerStream , progressMessageHandler : progressMessageHandler , request : request ) ;
247+ object userState = new object ( ) ;
248+
249+ // Act/Assert
250+ int totalBytesWritten = 0 ;
251+ int bytesWritten = 0 ;
252+ while ( totalBytesWritten < expectedLength )
253+ {
254+ bytesWritten = Math . Min ( 8 , ( int ) expectedLength - totalBytesWritten ) ;
255+ await progressStream . WriteAsync ( buffer , totalBytesWritten , bytesWritten ) ;
256+
257+ totalBytesWritten += bytesWritten ;
258+
259+ Assert . Equal ( totalBytesWritten , mockProgressEventHandler . EventArgs . BytesTransferred ) ;
260+ Assert . Equal ( ( 100L * totalBytesWritten ) / expectedLength , mockProgressEventHandler . EventArgs . ProgressPercentage ) ;
261+ }
262+
263+ Assert . Equal ( expectedLength , mockProgressEventHandler . EventArgs . TotalBytes ) ;
264+ Assert . Equal ( 100 , mockProgressEventHandler . EventArgs . ProgressPercentage ) ;
258265 }
259-
260- Assert . Equal ( expectedLength , mockProgressEventHandler . EventArgs . TotalBytes ) ;
261- Assert . Equal ( 100 , mockProgressEventHandler . EventArgs . ProgressPercentage ) ;
262266 }
263267
264268 internal static ProgressStream CreateProgressStream (
0 commit comments