public void reports_progress_via_progress_t() { var callback = new ProgressReporter(); Mock <Stream> mockStream; byte[] buffer = CreateStreamMock(out mockStream); using (var progressStream = new ProgressStream(mockStream.Object, callback)) { callback.CallbackCount.Should().Be(0); callback.LastPercentage.Should().Be(0); while (true) { int bytesRead = progressStream.Read(buffer, 0, buffer.Length); if (bytesRead <= 0) { break; } } } mockStream.Verify(); callback.CallbackCount.Should().BeGreaterThan(0); callback.LastPercentage.Should().Be(100f); }
public void reports_progress_via_action() { int callbackCount = 0; float lastPercentage = 0f; Action <ProgressStream.Progress> callback = progress => { callbackCount++; lastPercentage = progress.Percentage; Debug.WriteLine(lastPercentage); }; Mock <Stream> mockStream; byte[] buffer = CreateStreamMock(out mockStream); using (var progressStream = new ProgressStream(mockStream.Object, callback)) { callbackCount.Should().Be(0); lastPercentage.Should().Be(0); while (true) { int bytesRead = progressStream.Read(buffer, 0, buffer.Length); if (bytesRead <= 0) { break; } } } mockStream.Verify(); callbackCount.Should().BeGreaterThan(0); lastPercentage.Should().Be(100f); }