Thanks to Jonathan for the constructive criticism of the tests. Here is the latest version.
I suspect I'll need to leave it until after David's changes to the tests are merged into master, unless anyone thinks I should rebase elsewhere. I think my tests only need a minor update to accommodate those changes.
-- Paul [W] Campbell