def test_notify_observers(self): """ Test that a substate still notifies observers """ # SETUP m = StateMachine('Observed') composite_state = m.create_state('composite', CompositeState) sub_state = composite_state.create_state('substate') listener = StateMachine('Listener') listener.notify = MagicMock() m.register_observer('tick', listener) # TEST e = Event('tick') sub_state.notify_observers(e) m.flush() self.assertEqual(1, listener.notify.call_count) listener.notify.assert_called_with(e)