python日期推算

x = datetime.date(2020,1,1)
y = x + datetime.timedelta(days=54)
y
datetime.date(2020, 2, 24)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的日期推算等价类划分测试代码,用于测试一个函数的日期推算功能: ```python import unittest from datetime import datetime, timedelta from date_calculator import calculate_date class TestDateCalculator(unittest.TestCase): def test_valid_inputs(self): # Test valid inputs self.assertEqual(calculate_date("2022-12-31", "1 day"), datetime(2023, 1, 1)) self.assertEqual(calculate_date("2022-12-31", "1 week"), datetime(2023, 1, 7)) self.assertEqual(calculate_date("2022-12-31", "1 month"), datetime(2023, 1, 31)) self.assertEqual(calculate_date("2022-12-31", "1 year"), datetime(2023, 12, 31)) def test_invalid_inputs(self): # Test invalid inputs self.assertRaises(ValueError, calculate_date, "2022-12-31", "invalid") self.assertRaises(ValueError, calculate_date, "2022-12-31", "0 day") self.assertRaises(ValueError, calculate_date, "2022-12-31", "-1 week") self.assertRaises(ValueError, calculate_date, "2022-02-29", "1 year") # leap year def test_edge_cases(self): # Test edge cases self.assertEqual(calculate_date("2022-12-31", "365 days"), datetime(2023, 12, 31)) self.assertEqual(calculate_date("2022-12-31", "366 days"), datetime(2024, 1, 1)) # leap year self.assertEqual(calculate_date("2022-12-31", "1 month"), datetime(2023, 1, 31)) self.assertEqual(calculate_date("2022-01-31", "1 month"), datetime(2022, 2, 28)) # not leap year self.assertEqual(calculate_date("2022-01-31", "2 months"), datetime(2022, 3, 31)) # not leap year self.assertEqual(calculate_date("2022-02-28", "1 month"), datetime(2022, 3, 28)) # not leap year self.assertEqual(calculate_date("2020-02-29", "1 year"), datetime(2021, 2, 28)) # not leap year if __name__ == '__main__': unittest.main() ``` 在这个测试代码中,我们使用了 Python 自带的 `unittest` 模块,定义了一个名为 `TestDateCalculator` 的测试类,并且定义了三个测试方法: 1. `test_valid_inputs`:测试函数对于有效输入的处理是否正确。 2. `test_invalid_inputs`:测试函数对于无效输入的处理是否正确。 3. `test_edge_cases`:测试函数在边界情况下的处理是否正确。 其中,我们使用了 Python 自带的 `assertEqual()` 和 `assertRaises()` 方法来测试函数的返回值和异常处理。在测试函数的前面,我们引入了 Python 自带的 `datetime` 和 `timedelta` 模块,以及我们要测试的日期推算函数 `calculate_date()`。 使用这个测试代码可以有效地测试日期推算函数的等价类划分是否正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值