January 2019
Intermediate to advanced
376 pages
8h 49m
English
Alright, before moving further, let’s reevaluate our TODO list:
Items are identified by unique names (nonempty strings).
The list of items has no set length (though it appears nonempty), and the items it contains are in no specific order.
The unit prices appear to be integers. (Not a bad idea, since floating point numbers lose precision; we can assume values are written in cents, for example.)
The special prices are triggered only once the right number of items of the proper type can match a given special.
All items have a unit price.
It is not mandatory for a given item to have a special price.
That’s decent coverage in terms of features and requirements we extracted, with few lines of tests! It may not feel like we’ve accomplished ...