Add new test and enhance test cases