Declarative over imperative assertions

I found it difficult following along with what the assertions were about. This is an attempt to tackle that using:

- a verbose test api
- removing magic number from assertions

What do you think @lee-jon does this improve or hamper readability?
yes that was my thinking, if there are edge cases, they should be explicitly handled in tests, not implicitly by chance