1. Added negative tests (invalid input + timeout) for all variants
2. Simplified all test classes by using helper methods in the base class