* Basic limit order
- Enter a limit order, verify its price and quantity in the order book
- Modify it, verify the quantity and price change as you change them
- Cancel it, verify it shows as canceled in the order book
* Fills
** Full fills
- Enter a limit order that you know fill be filled either on entry or by an aggressor
- Verify that you received a fill and the order is marked as completed
- Verify that the average filled price is correct and the quantity is correct
** Partial fills
- Enter a limit order that you can cause to be partially filled either on entry or by an aggressor
- Verify the partial fill causes the filled quantity to update and that you have a correct average price
- Cause the order to be completely filled and verify its updated correctly
* Spreads
- Enter a spread trade
- Modify its price and quantity, verify they are modified
- Cause to be filled
- Verify you get both the leg fills and the spread fill marked as such
- Verify the quantities and prices of both kinds of fills are correct
* Exotic order types
** Enter, change and cancel each of the following:
- Market order
- Stop Order
- Stop Limit Order
- Iceberg order
* GTC orders
- Enter a GTC order
- Shutdown the server
- Using another server cause the order to be partially filled
- Start the original server and verify that you receive the partial fills
- Verify that you can change and cancel the recovered order
* Disaster Recovery
- Enter some orders, get some fills
- Enter a GTC order
- Shutdown the server
- Remove the orders and fills databases
- Change the CME sequence number in the sequence number file to 1
- Restart the server
- Verify that the orders are recreated as well as the fills
- Verify you can update and cancel the GTC order
* Multiple accounts
- Enter an order via one account, observe that the fills for that order go into the right place
- Repeat on a second account, check the same
  
