Added more extensive test cases