[FEATURE] Added a lot more unit tests

this pul request contains only new unit tests. travis will fail until #119 is merged. I think #119 should be merged before this pull request.