public FlatToHierarchicalProgressMonitor(string prefix, FlatProgressMonitor flat)
        {
            parent = null;
            this.flat = new FilteredFlatProgressMonitor(flat);

            if (!string.IsNullOrEmpty(prefix))
                fullStepName = new[] { prefix, null };
            else
                fullStepName = new string[] { null };
        }
        public void SetUp()
        {
            flat = new Mock<FlatProgressMonitor>();

            progress = new FlatToHierarchicalProgressMonitor(null, flat.Object);

            onStartedCalls = 0;
            progress.AfterStartedStep += n => onStartedCalls++;

            onFinishedCalls = 0;
            progress.BeforeFinishedStep += n => onFinishedCalls++;
        }
 private FlatToHierarchicalProgressMonitor(FlatToHierarchicalProgressMonitor parent, string[] name)
 {
     this.parent = parent;
     flat = parent.flat;
     fullStepName = Utils.ArrayAppendEmpty(name, 1);
 }