The code in DiscountApplier contains bugs, marked with comments. Write tests that fail because of these bugs.
There is a video about this exercise The Undercover Agent in Unit Testing: Spy Test Doubles
This exercise was invented by Dimitri Merejkowsky and his original code is in his repo kata-doppelganger