add unittest
travis ci support