abstract test class