Add some unit tests. Last checked result.

Check style problem is still big.