#1 unit tests

This contains the unit tests (with travis integration) of the current code in the `master` branch. 
This is not yet complete as there are still issues specified on github. Unit tests will going to be updated when working on each issues.