Beispiel #1
0
        public void ClearingExtensions(
            IStateMachine <string, int> machine,
            IExtension <string, int> extension)
        {
            "establish a state machine with an extension".x(() =>
            {
                var stateMachineDefinitionBuilder = new StateMachineDefinitionBuilder <string, int>();
                stateMachineDefinitionBuilder.In("initial");
                machine = stateMachineDefinitionBuilder
                          .WithInitialState("initial")
                          .Build()
                          .CreatePassiveStateMachine();

                extension = A.Fake <IExtension <string, int> >();
                machine.AddExtension(extension);
            });

            "when clearing all extensions from the state machine".x(() =>
            {
                machine.ClearExtensions();
                machine.Start();
            });

            "it should not anymore notify extension about internal events".x(() =>
                                                                             A.CallTo(extension)
                                                                             .MustNotHaveHappened());
        }