public void TestReadProgressStream() { const int streamSize = 26543; const int bufferSize = 4096; const int readSize = 3000; long bytesRead = 0; using (var memoryStream = new LargeMemoryStream(new byte[streamSize])) { using (var progressStream = new ReadProgressStream(memoryStream)) { var eventFired = false; progressStream.ProgressChanged += (sender, args) => eventFired = true; var buffer = new byte[bufferSize]; while (bytesRead < memoryStream.Length) { eventFired = false; bytesRead += progressStream.Read(buffer, 0, readSize); var progress = 100 * bytesRead / (double)streamSize; Assert.AreEqual(progress, progressStream.ProgressPercent, 0.01); Assert.IsTrue(eventFired); } Assert.AreEqual(100, progressStream.ProgressPercent, 0.01); } } }
public void TestReadProgressStream() { const int streamSize = 26543; const int bufferSize = 4096; const int readSize = 3000; long bytesRead = 0; using (var memoryStream = new LargeMemoryStream(new byte[streamSize])) { using (var progressStream = new ReadProgressStream(memoryStream)) { var eventFired = false; progressStream.ProgressChanged += (sender, args) => eventFired = true; var buffer = new byte[bufferSize]; while (bytesRead < memoryStream.Length) { eventFired = false; bytesRead += progressStream.Read(buffer, 0, readSize); var progress = 100*bytesRead / (double)streamSize; Assert.AreEqual(progress, progressStream.ProgressPercent, 0.01); Assert.IsTrue(eventFired); } Assert.AreEqual(100, progressStream.ProgressPercent, 0.01); } } }