### Question:
ProgressStatusMirroringImpl extends ProgressStatusBase { @Override public void progress(int steps, String message) { throw new UnsupportedOperationException(); } ProgressStatusMirroringImpl(String name, ProgressStatusBase parent, String id); @Override void setTotalStepCount(int totalStepCount); @Override void progress(int steps, String message); @Override void setCurrentStepCount(int stepCount); @Override synchronized ProgressStatus createChild(String name, 
            int allocatedSteps, int totalStepCount); @Override synchronized float computeCompletePortion();  }### Answer:
@Test public void testProgress() { ProgressStatusMirroringImpl prog = new ProgressStatusMirroringImpl("first", parent, null); ProgressStatus ch1 = prog.createChild("A1", 0); assertNotNull(ch1); ProgressStatus ch2 = prog.createChild("A2", 0); assertNotNull(ch2); assertEquals(0, prog.currentStepCount); parent.lastEvent = null; ch1.progress(1); assertNotNull(parent.lastEvent); parent.lastEvent = null; assertEquals(1, prog.currentStepCount); ch2.progress(2, "Some message"); assertEquals(3, prog.currentStepCount); }