UPDATED added a new test and reformulated all the tests to use should, to be more like BDD tests.