Add more tests

Add lot more unit test, to be much confident with adding feature