Add test cases (not finished)