Scheduler: 

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.

 

Mapper:

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

Make sure it handles a non-existent address.

 

Model:

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

Track cabs movement and change zones correctly.

 

Dispatcher:

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.

 

"Supervisor":

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.