Add assertion for no answer
Remove stray true.

not sure how it got here
Better test names.

Now I know a bit more about the semantics I can write 
better test names
Don't use brackets for assertions.

Consistently call them in a DSL-style.
Refactor type checks to not depend on ruby classes
Consistently use arg_1 and arg_2
helpers for getting arguments
Simplify conditionals around exceptions and true/false