public void Progress_MultipleValidSteps()
        {
            // Arrange
            var listener    = new ConfigurableProgressStepExecutionEvents();
            var testSubject = new FixedStepsProgressAdapter(listener);

            // Act
            Report(testSubject, "Starting...", 0, 4);
            Report(testSubject, "Step1", 1, 4);
            Report(testSubject, "Step1 again", 1, 4);
            Report(testSubject, null, 2, 4);
            Report(testSubject, "", 3, 4);
            Report(testSubject, "Ending...", 4, 4);

            listener.AssertProgressMessages("Starting...",
                                            "Step1",
                                            "Step1 again",
                                            null,
                                            "",
                                            "Ending...");

            listener.AssertProgress(
                0 / 4d,
                1 / 4d,
                1 / 4d,
                2 / 4d,
                3 / 4d,
                1.0);
        }