def test_daterange_lt(): dr = DateRange(dt(2013, 1, 1)) dr2 = DateRange(dt(2001, 1, 1)) assert dr2 < dr dr.start = None assert (dr2 < dr) == False
def test_as_dates(): """Various permutations of datetime/None, and date/None values.""" dtime = dt(2010, 12, 13, 10, 30) for testdt in [dtime, dtime.date()]: vals = [testdt, None] for start, end in itertools.product(vals, vals): dr = DateRange(start, end) dad = dr.as_dates() if dr.start: assert dad.start == dr.start.date() if isinstance(dr.start, dt) else dr.start else: assert not dad.start if dr.end: assert dad.end == dr.end.date() if isinstance(dr.end, dt) else dr.end else: assert not dad.end
import itertools import operator from datetime import datetime as dt import pytest import six from arctic.date import DateRange, string_to_daterange, CLOSED_CLOSED, CLOSED_OPEN, OPEN_CLOSED, OPEN_OPEN test_ranges_for_bounding = { "unbounded": (DateRange(), None, None, True, None, None), "unbounded_right": (DateRange('20110101'), dt(2011, 1, 1), None, True, True, None), "unbounded_left": (DateRange(None, '20111231'), None, dt(2011, 12, 31), True, None, True), "closed_by_default": (DateRange('20110101', '20111231'), dt(2011, 1, 1), dt(2011, 12, 31), False, True, True), "closed_explicitly": (DateRange('20110101', '20111231', CLOSED_CLOSED), dt(2011, 1, 1), dt(2011, 12, 31), False, True, True), "closed_open": (DateRange('20110101', '20111231', CLOSED_OPEN), dt(2011, 1, 1), dt(2011, 12, 31), False, True, False), "open_closed": (DateRange('20110101', '20111231', OPEN_CLOSED), dt(2011, 1, 1), dt(2011, 12, 31), False, False, True), "open_open": (DateRange('20110101', '20111231', OPEN_OPEN), dt(2011, 1, 1), dt(2011, 12, 31), False, False, False), } test_ranges_for_bounding = sorted(six.iteritems(test_ranges_for_bounding), key=operator.itemgetter(1)) def eq_nan(*args):