how to test fsm using actions/guards simulations