Should return non-null list of recommendation to the dispatcher UI (cab or time).

Picks a cab efficiently.

Gives results when no cabs are available. 

Prioritize a reservation correctly which are taken at different times.



Pass in an address and make sure it returns a correct zone. 

Make sure it handles a non-existent address.



Insert reservation and check, make sure it's evaluated by the scheduler and sent to the dispatcher.

Track cabs movement and change zones correctly.



Make sure that the UI allows you to enter information correctly.

Test a general interface command.


Cab Console:

Test to see if a payment fails. 

Test to see if credit card fails.

Test a general interface command.


Data storage:

Test readability.

Test writability.

Test make sure data are not corrupted.


Cab I/O:

Simulate data going to and from cabs.



Test map editing ability: map is updated correctly.

Employee records are accessible and editable.

Reports can be generated and customized.


Credit card server:

Simulate cards being accepted and rejected.

Handle malformed credit card numbers.