The Shopping Cart lets users add, remove, and check items out. They can add an item that wasn't already added. The checkout process returns a receipt that holds the subtotal, tax, and total. Test Cases ---------------------------------------- - adding an item if not already added - Test if the cart contains the item after it's added. - Test if the cart skips duplicate item. - removing an item - Test if the item gets removed after being sold. - Test for IllegalStateException for trying to remove from an empty cart. - checkout - Test if subtotal is calculated correctly. - Test if tax is calculated correctly. - Test if total is calculated correctly. - Test for an IllegalStateException for trying to checkout an empty cart.