Listing 9.1
Listing 9.2
Listing 9.3 with all tests passing as expected.
Listing 9.5. Hopefully this is the correct placement.
Listing 9.6.
Listing 9.7.
Listing 9.7 with tests passing as expected.
Listing 9.9.
Listing 9.10. with all tests green as expected.
Listing 9.11.
Listing 9.12.
Listing 9.13.
Listing 9.14.
Listing 9.15.
Listing 9.16.
Listing 9.17.
Listing 9.18.
Listing 9.19.
Listing 9.20.
Listing 9.21.