public void DefaultStateMachineName(
            AsyncPassiveStateMachine <string, int> machine,
            StateMachineNameReporter reporter)
        {
            "establish an instantiated passive state machine".x(()
                                                                => machine = new AsyncPassiveStateMachine <string, int>());

            "establish a state machine reporter".x(()
                                                   => reporter = new StateMachineNameReporter());

            "when the state machine report is generated".x(()
                                                           => machine.Report(reporter));

            "it should use the type of the state machine as name for state machine".x(()
                                                                                      => reporter.StateMachineName
                                                                                      .Should().Be("Appccelerate.StateMachine.AsyncPassiveStateMachine<System.String,System.Int32>"));
        }
        public void CustomStateMachineName(
            AsyncPassiveStateMachine <string, int> machine,
            StateMachineNameReporter reporter)
        {
            const string name = "custom name";

            "establish an instantiated passive state machine with custom name".x(()
                                                                                 => machine = new AsyncPassiveStateMachine <string, int>(name));

            "establish a state machine reporter".x(()
                                                   => reporter = new StateMachineNameReporter());

            "when the state machine report is generated".x(()
                                                           => machine.Report(reporter));

            "it should use custom name for the state machine".x(()
                                                                => reporter.StateMachineName
                                                                .Should().Be(name));
        }