Objective
Write next_state, the transition function of a download state machine: it returns the state reached from current when e fires, and current unchanged when that pair has no entry in the table.
Steps
$ next_state(IDLE, START)
IDLE -> RUNNING
$ next_state(PAUSED, FINISH)
PAUSED -> PAUSED
$ next_state(DONE, START)
DONE -> DONE
$ next_state x3 from IDLE: START, PAUSE, RESUME
IDLE -> RUNNING -> PAUSED -> RUNNING
Expected files
Allowed functions
None. Write every helper yourself.

Objective
Write next_state, the transition function of a download state machine: it returns the state reached from current when e fires, and current unchanged when that pair has no entry in the table.
Steps
$ next_state(IDLE, START)
IDLE -> RUNNING
$ next_state(PAUSED, FINISH)
PAUSED -> PAUSED
$ next_state(DONE, START)
DONE -> DONE
$ next_state x3 from IDLE: START, PAUSE, RESUME
IDLE -> RUNNING -> PAUSED -> RUNNING
Expected files
Allowed functions
None. Write every helper yourself.

Tests
Run the tests to grade your code