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()); }