test cases and setup