public void DefaultStateMachineName(
            ActiveStateMachine <string, int> machine,
            StateMachineNameReporter reporter)
        {
            "establish an instantiated active state machine"._(() =>
            {
                machine = new ActiveStateMachine <string, int>();
            });

            "establish a state machine reporter"._(() =>
            {
                reporter = new StateMachineNameReporter();
            });

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

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

            "establish an instantiated active state machine with custom name"._(() =>
            {
                machine = new ActiveStateMachine <string, int>(Name);
            });

            "establish a state machine reporter"._(() =>
            {
                reporter = new StateMachineNameReporter();
            });

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

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