Exemple #1
0
        void HandleModify(ICollection <FileObjectMapping> modify, IDictionary <string, Status> statusDic,
                          ProgressLeaf progressLeaf)
        {
            StatusRepo.ResetWithoutClearItems(RepoStatus.Unpacking, modify.Count);
            var i = 0;

            modify.OrderByDescending(x => Tools.FileUtil.SizePrediction(x.FilePath))
            .ForEach(m => {
                ProcessModified(statusDic, m,
                                (p, s) => progressLeaf?.Update(null, (i + p / 100).ToProgress(modify.Count)));
                StatusRepo.IncrementDone();
                progressLeaf?.Update(null, i++.ToProgress(modify.Count));
            });
            progressLeaf?.Finish();
        }
        public void ProgressDownloadingFlatTest()
        {
            SUT = new ProgressComponent("Stage");
            var networkMods          = new ProgressComponent("Network mods");
            var networkModsDownloads = new ProgressLeaf("Downloading");

            networkModsDownloads.Update(500, 50);
            networkMods.AddComponents(networkModsDownloads);
            var groupMods = new ProgressComponent("Group mods");

            groupMods.AddComponents(new ProgressLeaf("Mod 3"));
            SUT.AddComponents(networkMods, groupMods);

            var sut = SUT.Flatten();

            sut[0].Title.Should().Be("Stage");
            sut[0].Progress.Should().Be(25);
            sut[0].ComponentsCount.Should().Be(2);
            sut[0].CurrentStage.Should().Be(1);
            sut[0].Speed.Should().Be(500);

            sut[1].Title.Should().Be("Network mods");
            sut[1].Progress.Should().Be(50);
            sut[1].ComponentsCount.Should().Be(1);
            sut[1].CurrentStage.Should().Be(1);
            sut[1].Speed.Should().Be(500);

            sut[2].Title.Should().Be("Downloading");
            sut[2].Progress.Should().Be(50);
            sut[2].ComponentsCount.Should().Be(0);
            sut[2].CurrentStage.Should().Be(0);
            sut[2].Speed.Should().Be(500);
        }
        public void TestProgressDownloading()
        {
            SUT = new ProgressComponent("Stage");
            var networkMods          = new ProgressComponent("Network mods");
            var networkModsDownloads = new ProgressLeaf("Downloading");

            networkModsDownloads.Update(500, 50);
            networkMods.AddComponents(networkModsDownloads);
            var groupMods = new ProgressComponent("Group mods");

            groupMods.AddComponents(new ProgressLeaf("Mod 3"));
            SUT.AddComponents(networkMods, groupMods);

            SUT.StatusText.Should().Be("Stage 1/2 25%\nNetwork mods 1/1 50%\nDownloading 50% @ 500 B/s");
        }
Exemple #4
0
 private static void Call(ProgressLeaf leaf, bool inclProgress, AverageContainer2 c, long?speed, double progress)
 {
     leaf.Update(c.UpdateSpecial(speed), inclProgress ? progress : leaf.Progress);
 }