#49 Add unittest, and some testcase