In the first output example, the user adds 2 items and finishes the transaction with no messages.
example 1.In the second output example, the user adds 5 items with no problem. However, when a sixth item wants to be added the system shows a "cart is full" message. The user then tries to finish the transaction with cash value lower than the cost which makes the system to ask again for cash value.
example 2.In the third output example, the user tries to remove an item when the cart is empty and that makes the system to throw the corresponding message. The user then adds 2 items correctly. Next, the user removes the last item. Note there that the value of total gets back to the same value than before. The user then pays with a value very high and it correctly shows what is the change.
More test cases could be uploaded along the way.