in c++ this is the test data = {APP_ACTIVE_OPEN,RCV_SYN_ACK,RCV_FIN,APP_PASSIVE_OPEN,RCV_SYN,RCV_ACK,APP_ACTIVE_OPEN,RCV_SYN_ACK,RCV_FIN,APP_CLOSE,APP_ACTIVE_OPEN,APP_PASSIVE_OPEN,RCV_SYN,RCV_ACK,APP_CLOSE,APP_SEND,APP_PASSIVE_OPEN,RCV_SYN,RCV_ACK,APP_CLOSE,RCV_FIN_ACK,APP_TIMEOUT,APP_ACTIVE_OPEN,RCV_SYN,APP_CLOSE,RCV_FIN,RCV_ACK}
it should be ERROR because it tries to do CLOSE_WAIT : APP_PASSIVE_OPEN which is undefined in the FSM diagram, instead the test case expects it to be TIME_WAIT
Scala translation
image at http://theangelfallseries.com/img/EFSM_TCP.png is gone
JS: no random tests.
in c++ this is the test data = {APP_ACTIVE_OPEN,RCV_SYN_ACK,RCV_FIN,APP_PASSIVE_OPEN,RCV_SYN,RCV_ACK,APP_ACTIVE_OPEN,RCV_SYN_ACK,RCV_FIN,APP_CLOSE,APP_ACTIVE_OPEN,APP_PASSIVE_OPEN,RCV_SYN,RCV_ACK,APP_CLOSE,APP_SEND,APP_PASSIVE_OPEN,RCV_SYN,RCV_ACK,APP_CLOSE,RCV_FIN_ACK,APP_TIMEOUT,APP_ACTIVE_OPEN,RCV_SYN,APP_CLOSE,RCV_FIN,RCV_ACK}
it should be ERROR because it tries to do CLOSE_WAIT : APP_PASSIVE_OPEN which is undefined in the FSM diagram, instead the test case expects it to be TIME_WAIT
Clojure translation. It is my first translation, all comments are welcome
PHP translation, to be evaluated
Racket Translation
Elixir translation submitted.