Changed Data driven tests to be much better.  Added few more test cases.
Refactored after testing