Sub-class should include ::params

Rather than assuming the parent class has already included it. As
highlighted by unit testing, this can result in an empty string if the class
is called directly.
Flesh out spec tests for all sub-classes

Include some sensible defaults for spec testing the base class and all of
the sub-classes. These should pass out-of-the-box. They can then be modified
to suit.