Restructure calendar tests and add more test cases.