public async Task After_ending_does_not_update_total_or_current()
        {
            ManualTimestamper manualTimestamper = new ManualTimestamper();
            MeasuredProgress  measuredProgress  = new MeasuredProgress(manualTimestamper);

            measuredProgress.Update(0L);
            measuredProgress.SetMeasuringPoint();
            manualTimestamper.Add(TimeSpan.FromMilliseconds(100));
            measuredProgress.Update(1L);
            measuredProgress.SetMeasuringPoint();
            manualTimestamper.Add(TimeSpan.FromMilliseconds(100));
            measuredProgress.Update(3L);
            measuredProgress.MarkEnd();
            manualTimestamper.Add(TimeSpan.FromMilliseconds(100));
            measuredProgress.SetMeasuringPoint();
            manualTimestamper.Add(TimeSpan.FromMilliseconds(100));
            measuredProgress.SetMeasuringPoint();
            manualTimestamper.Add(TimeSpan.FromMilliseconds(100));
            measuredProgress.SetMeasuringPoint();
            Assert.GreaterOrEqual(measuredProgress.TotalPerSecond, 6M);
            Assert.LessOrEqual(measuredProgress.TotalPerSecond, 15M);
            Assert.AreEqual(0M, measuredProgress.CurrentPerSecond);
        }
Esempio n. 2
0
        public async Task Finishes_when_all_downloaded()
        {
            IBlockTree blockTree = Substitute.For <IBlockTree>();

            blockTree.LowestInsertedHeader.Returns(Build.A.BlockHeader.WithNumber(1000).TestObject);
            ISyncReport report = Substitute.For <ISyncReport>();

            report.HeadersInQueue.Returns(new MeasuredProgress());
            MeasuredProgress measuredProgress = new MeasuredProgress();

            report.FastBlocksHeaders.Returns(measuredProgress);
            FastHeadersSyncFeed feed = new FastHeadersSyncFeed(blockTree, Substitute.For <ISyncPeerPool>(), new SyncConfig {
                FastSync = true, FastBlocks = true, PivotNumber = "1000", PivotHash = Keccak.Zero.ToString(), PivotTotalDifficulty = "1000"
            }, report, LimboLogs.Instance);
            await feed.PrepareRequest();

            blockTree.LowestInsertedHeader.Returns(Build.A.BlockHeader.WithNumber(1).TestObject);
            var result = await feed.PrepareRequest();

            result.Should().BeNull();
            feed.CurrentState.Should().Be(SyncFeedState.Finished);
            measuredProgress.HasEnded.Should().BeTrue();
        }
Esempio n. 3
0
        public void Current_value_uninitialized()
        {
            MeasuredProgress measuredProgress = new MeasuredProgress();

            Assert.AreEqual(0L, measuredProgress.CurrentValue);
        }
Esempio n. 4
0
        public void Total_per_second_uninitialized()
        {
            MeasuredProgress measuredProgress = new MeasuredProgress();

            Assert.AreEqual(decimal.Zero, measuredProgress.TotalPerSecond);
        }
Esempio n. 5
0
        public void Has_ended_returns_false_when_ended()
        {
            MeasuredProgress measuredProgress = new MeasuredProgress();

            Assert.False(measuredProgress.HasEnded);
        }