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); }
public static ISplittableProgress <double> ToSplittableProgress(this IProgress <double> progress) { var splittable = new SplittableProgress(progress.Report); return(splittable); }
public void AsIProgress() { IProgress <double> mainProg = new SplittableProgress(d => Assert.Equal(100, d)); mainProg.Report(100); }