使用基本路径覆盖法测试以下代码:#include <iostream> using namespace std; bool isLeapYear(int year) { if (year % 400 == 0) { return true; } else if (year % 100 == 0) { return false; } else if (year % 4 == 0) { return true; } else { return false; } } void nextDate(int day, int month, int year) { int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (month < 1 || month > 12) { cout << "Invalid month" << endl; return; } if (day < 1 || day > daysInMonth[month-1]) { cout << "Invalid day" << endl; return; } if (isLeapYear(year)) { daysInMonth[1] = 29; } if (day == daysInMonth[month-1]) { day = 1; if (month == 12) { month = 1; year++; } else { month++; } } else { day++; } cout << "Next date is: " << day << "/" << month << "/" << year << endl; } int main() { int day, month, year; cout << "Enter date in format of dd mm yyyy: "; cin >> day >> month >> year; nextDate(day, month, year); return 0; }
时间: 2024-01-04 11:02:35 浏览: 88
以下是基本路径覆盖法的测试用例:
1. 正常情况:输入 31 12 2021,期望输出 Next date is: 1/1/2022。
2. 无效月份:输入 31 13 2021,期望输出 Invalid month。
3. 无效日期:输入 32 12 2021,期望输出 Invalid day。
4. 闰年情况:输入 28 2 2020,期望输出 Next date is: 29/2/2020。
5. 非闰年情况:输入 29 2 2021,期望输出 Invalid day。
6. 边界情况1:输入 1 1 2021,期望输出 Next date is: 2/1/2021。
7. 边界情况2:输入 31 1 2021,期望输出 Next date is: 1/2/2021。
8. 边界情况3:输入 28 2 2021,期望输出 Next date is: 1/3/2021。
9. 边界情况4:输入 30 4 2021,期望输出 Next date is: 1/5/2021。
10. 边界情况5:输入 31 12 9999,期望输出 Invalid day。
阅读全文