Created new test class; removed duplication in loading "autoload".
We now handle asking for the total with no scanned products.
We how handle asking for the total with one item, but with a hardcoded total.
Separated label from value.
I think I want a formatPrice() function and a formatTotal() function.
Take advantage of knowing that we have exactly one scanned product.
[FAILING] Described selling many items, but why should I have to format the total amount in order to check my arithmetic?
Skip the end-to-end test until I calculate the shopping cart total correctly.
Revealed intent/purpose better within onBarcode().
Moved displayEmptyBarcodeMessage() onto Display, where it belongs.
Moved displayPrice() onto Display.
Moved last remaining display*() function onto Display.
Began introducing Catalog to wrap the primitive "catalog".
All call sites now pass the new Catalog to the constructor of Sale; we can now remove the obsolete parameter.
Removed obsolete code.
Removed obsolete code.
Began inlining functions I'd moved.
Removed obsolete code.