根据公历历法,设计NextDate(mm-dd-yyyy):mm-dd-yyyy根据现代历法规则设计等价类,并设计等价类测试用例
时间: 2024-01-12 13:03:28 浏览: 129
EDA程序设计-万年历设计
5星 · 资源好评率100%
根据公历历法,设计NextDate(mm-dd-yyyy)函数的等价类如下:
1. 月份等价类:
- 有效月份:1-12月
- 无效月份:小于1月或大于12月的月份
2. 日期等价类:
- 有效日期:1-28/29/30/31日(根据月份和闰年判断)
- 无效日期:小于1日或大于当月最大日期的日份
3. 年份等价类:
- 有效年份:1582年及以后的年份
- 无效年份:1582年以前的年份
4. 闰年等价类:
- 闰年:能够被4整除但不能被100整除,或者能够被400整除的年份
- 非闰年:不能被4整除,或者能够被100整除但不能被400整除的年份
基于上述等价类,可以设计以下测试用例:
| 月份 | 日期 | 年份 | 闰年/非闰年 | 期望结果 |
|------|------|------|--------------|----------|
| 2 | 28 | 2020 | 闰年 | 2-29-2020 |
| 2 | 29 | 2020 | 闰年 | 3-1-2020 |
| 2 | 28 | 2021 | 非闰年 | 3-1-2021 |
| 2 | 29 | 2021 | 非闰年 | 无效日期 |
| 4 | 30 | 2021 | 非闰年 | 5-1-2021 |
| 4 | 31 | 2021 | 非闰年 | 无效日期 |
| 6 | 30 | 2021 | 非闰年 | 7-1-2021 |
| 6 | 31 | 2021 | 非闰年 | 无效日期 |
| 9 | 30 | 2021 | 非闰年 | 10-1-2021 |
| 9 | 31 | 2021 | 非闰年 | 无效日期 |
| 11 | 30 | 2021 | 非闰年 | 12-1-2021 |
| 11 | 31 | 2021 | 非闰年 | 无效日期 |
| 2 | 0 | 2021 | 非闰年 | 无效日期 |
| 2 | 29 | 1581 | 无效年份 | 无效日期 |
| 2 | 29 | 2022 | 非闰年 | 无效日期 |
| 13 | 1 | 2021 | 无效月份 | 无效日期 |
| 0 | 1 | 2021 | 无效月份 | 无效日期 |
阅读全文