-- TEST: NEW GOAL [MEMORY EMPTY]
-- TEST: NEW GOAL [ACCEPT]
-- TEST: NEW GOAL [REJECT]
-- TEST: NEW GOAL [FULL GOAL MEMORY, TIMEOUT=INFINITE, NO TERMINAL STATE GOAL EXISTS]
-- TEST: NEW GOAL [FULL GOAL MEMORY, TIMEOUT=INFINITE, TERMINAL STATE GOAL EXISTS]
-- TEST: NEW GOAL [FULL GOAL MEMORY, TIMEOUT/=INFINITE]

-- TEST: GET_GOAL
-- TEST: GET_GOAL [INVALID HANDLE]
-- TEST: GET_FIRST_GOAL [MEMORY NOT EMPTY]
-- TEST: GET_FIRST_GOAL [MEMORY EMPTY]
-- TEST: GET_LAST_GOAL [MEMORY NOT EMPTY]
-- TEST: GET_LAST_GOAL [MEMORY EMPTY]
-- TEST: GET_NEXT_GOAL [NEXT GOAL EXISTS]
-- TEST: GET_NEXT_GOAL [NEXT GOAL DOES NOT EXISTS]
-- TEST: GET_NEXT_GOAL [INVALID HANDLE]
-- TEST: GET_PREVIOUS_GOAL [PREVIOUS GOAL EXISTS]
-- TEST: GET_PREVIOUS_GOAL [PREVIOUS GOAL DOES NOT EXISTS]
-- TEST: GET_PREVIOUS_GOAL [INVALID HANDLE]
-- TEST: UPDATE_GOAL_STATE [VALID STATE]
-- TEST: UPDATE_GOAL_STATE [INVALID STATE]
-- TEST: UPDATE_GOAL_STATE [INVALID HANDLE]
-- TEST: PUBLISH_FEEDBACK

-- TEST: NEW RESULT REQUEST [MEMORY EMPTY]
-- TEST: NEW RESULT REQUEST [GOAL DOES NOT EXIST]
-- TEST: NEW RESULT REQUEST [GOAL TERMINAL]
-- TEST: NEW RESULT REQUEST [GOAL NOT TERMINAL]
-- TEST: NEW RESULT REQUEST [FULL RESULT MEMORY]
-- TEST: STORED RESULT REQUEST [GOAL STATE UPDATES]
-- TEST: STORED RESULT REQUEST [GOAL STATE CHANGES TO TERMINAL]
-- TEST: STORED RESULT REQUEST [MULTIPLE REQUESTS, SAME GOAL, GOAL STATE CHANGES TO TERMINAL]

-- TEST: EXPIRE GOALS [SINGLE EXPIRED GOAL]
-- TEST: EXPIRE GOALS [MULTIPLE EXPIRED GOALS]
-- TEST: EXPIRE GOALS [ALL GOALS EXPIRED]

-- TEST: GOAL MEMORY [EMPTY->FULL->EMPTY->FULL]
-- TEST: RESULT REQUEST MEMORY [EMPTY->FULL->EMPTY->FULL]

-- TEST: CANCEL REQUEST [MEMORY EMPTY]
-- TEST: CANCEL REQUEST [GOAL ID SET, GOAL EXISTS]
-- TEST: CANCEL REQUEST [GOAL ID SET, GOAL EXISTS, GOAL TERMINAL]
-- TEST: CANCEL REQUEST [GOAL ID SET, GOAL DOES NOT EXISTS]
-- TEST: CANCEL REQUEST [TIME SET, NO RELEVANT GOALS]
-- TEST: CANCEL REQUEST [TIME SET, RELEVANT GOALS EXIST]
-- TEST: CANCEL REQUEST [NO GOAL ID SET, NO TIME SET, GOALS EXIST]
-- TEST: CANCEL REQUEST [NO GOAL ID SET, NO TIME SET, NO GOALS EXIST]
-- TEST: CANCEL REQUEST [GOAL ID SET, TIME SET, GOAL ID IS NOT IN TIME RANGE]
-- TEST: CANCEL REQUEST [GOAL ID SET, TIME SET, GOAL ID IS IN TIME RANGE]

-- TEST: STATUS UPDATE [NEW GOAL]
-- TEST: STATUS UPDATE [GOAL UPDATE]
-- TEST: STATUS UPDATE [GOAL REMOVED]
-- TEST: STATUS UPDATE [GOAL CANCELED]