Refactored and enhanced tests, create test suite