public void Split() { var firstSplit = 3; var expected = 100d / firstSplit; IProgress <double> mainProg = new Progress <double>(d => Assert.Equal(expected, d)); ISplittableProgress <double> mainProgS = new SplittableProgress(mainProg.Report); var childProgS = mainProgS.Split(firstSplit); childProgS.Report(100); }
public void SplitTwice() { var firstSplit = 3; var secondSplit = 5; var expected = 100d / firstSplit / secondSplit; IProgress <double> mainProg = new Progress <double>(d => Assert.Equal(expected, d)); ISplittableProgress <double> mainProgS = new SplittableProgress(mainProg.Report); var grandchildProgS = mainProgS.Split(firstSplit).Split(secondSplit); grandchildProgS.Report(100); }