Added tests and comments.
Changed number of assertions.
Added comments.