Added unit tests,
It's a brand new RTDD (Reverse Test Driver Development)