Passed tests for 15

Essentially the same thing as the problem in Chapter 10 of Learn to
Program, mostly a copy paste with some changes to account for extending
a class rather than writing a method