Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }