Refactoring

Refactored tests to take advantage of newer functionality.

Added a factory method, expect, which will eventually check the type of actual and create a custom assertion object based on it's type, e.g. container, string, number, spy...