public void TestSendEventFromState()
        {
            var controller = new TestController();
            var fsm        = new AltoFSM <TestController>(controller);

            SetTransition(fsm);
            fsm.ChangeState <StandState>();

            fsm.SendEvent(StateEvent.Flash);
            fsm.Update();
            fsm.SendEvent(StateEvent.Walk);

            Assert.That(controller.sequence, Is.EqualTo("_in1_out1_in5_out5_in1_up1_out1_in2"));
        }
        public void TestTransitionEventHandlers()
        {
            var controller = new TestController();
            var fsm        = new AltoFSM <TestController>(controller);

            SetTransition(fsm);
            fsm.SetState <StandState>();

            fsm.SendEvent(StateEvent.Walk);
            fsm.Update();
            fsm.SendEvent(StateEvent.Run);

            Assert.That(controller.sequence, Is.EqualTo("_out1_in2_up2_out2_in3"));
        }