Add CanMoveNext to verify state machine transition

* CanMoveNext method can be use to verify if the state machine
  can be transition in to a state.
* Updated unit test to test CanMoveNext method