用c++测试计算下一天函数nextDate()的函数
时间: 2023-12-07 22:03:29 浏览: 189
好的,下面是一个用 C++ 编写的测试函数,用于测试 `nextDate()` 函数。
```c++
#include <iostream>
#include "nextDate.h"
using namespace std;
int main() {
// 边界值测试
cout << nextDate(1, 1, 1753) << endl; // 01/02/1753
cout << nextDate(12, 31, 9999) << endl; // 01/01/10000
cout << nextDate(2, 30, 2022) << endl; // Invalid date
cout << nextDate(4, 31, 2022) << endl; // Invalid date
cout << nextDate(6, 31, 2022) << endl; // Invalid date
cout << nextDate(9, 31, 2022) << endl; // Invalid date
cout << nextDate(11, 31, 2022) << endl; // Invalid date
// 等价类测试
cout << nextDate(2, 29, 2021) << endl; // Invalid date
cout << nextDate(2, 29, 2020) << endl; // 03/01/2020
cout << nextDate(2, 28, 2021) << endl; // 03/01/2021
cout << nextDate(1, 1, 2022) << endl; // 01/02/2022
cout << nextDate(1, 1, 1752) << endl; // Invalid date
// 错误猜测测试
cout << nextDate(0, 0, 0) << endl; // Invalid date
cout << nextDate(NULL) << endl; // Invalid date
cout << nextDate("2022-02-22") << endl; // Invalid date
cout << nextDate("2/22/2022") << endl; // Invalid date
cout << nextDate("2-22-2022") << endl; // Invalid date
// 决策表测试
cout << nextDate(2, 29, 2020) << endl; // 03/01/2020
cout << nextDate(2, 28, 2021) << endl; // 03/01/2021
cout << nextDate(1, 31, 2022) << endl; // 02/01/2022
cout << nextDate(2, 27, 2022) << endl; // 02/28/2022
cout << nextDate(2, 28, 2022) << endl; // 03/01/2022
cout << nextDate(12, 31, 2022) << endl; // 01/01/2023
return 0;
}
```
这个测试函数涵盖了边界值测试、等价类测试、错误猜测测试和决策表测试。其中,我们通过 `cout` 将测试结果输出到控制台,以便于观察和分析测试结果。
阅读全文