def test_next_month():
dt = timezone.make_aware(datetime(2017, 3, 30, 11, 5))
assert next_month(dt) == timezone.make_aware(datetime(2017, 4, 30, 11, 5))
assert next_month(dt, delta=2) == timezone.make_aware(datetime(2017, 5, 30, 11, 5))
assert next_month(dt, delta=12) == timezone.make_aware(datetime(2018, 3, 30, 11, 5))
assert next_month(dt, delta=-1) == timezone.make_aware(datetime(2017, 2, 28, 11, 5))
assert next_month(dt, delta=-12) == timezone.make_aware(datetime(2016, 3, 30, 11, 5))
assert (next_month(dt, preferred_dom=31) ==
timezone.make_aware(datetime(2017, 4, 30, 11, 5)))
assert (next_month(dt, preferred_dom=31, delta=2)
== timezone.make_aware(datetime(2017, 5, 31, 11, 5)))
assert (next_month(dt, preferred_dom=31, delta=12)
== timezone.make_aware(datetime(2018, 3, 31, 11, 5)))
assert (next_month(dt, preferred_dom=31, delta=-1)
== timezone.make_aware(datetime(2017, 2, 28, 11, 5)))
assert (next_month(dt, preferred_dom=31, delta=-12)
== timezone.make_aware(datetime(2016, 3, 31, 11, 5)))
with pytest.raises(ValueError):
next_month(dt, delta=0)
评论列表
文章目录