add tests

===== Coverage summary ======
Statements   : 100% ( 89/89 )
Branches     : 100% ( 31/31 )
Functions    : 100% ( 10/10 )
Lines        : 100% ( 89/89 )