示例#1
0
def test_compare_greater():
    a = datetime.datetime(2012,3,4,3,2,3)
    if not PY2:
        a = localize(a)
    b = datetime_tz.datetime_tz(2012,3,4,1,2,3)
    assert a > b
    assert a >= b
    a = datetime.datetime(2012,3,3,3,2,3)
    if not PY2:
        a = localize(a)
    assert b > a
    assert b >= a
示例#2
0
def test_compare_less():
    a = datetime.datetime(2012,3,4,3,2,3)
    if not PY2:
        a = localize(a)
    b = datetime_tz.datetime_tz(2012,3,4,1,2,3)
    assert b < a
    assert b <= a
    a = datetime.datetime(2012,3,3,3,2,3)
    if not PY2:
        a = localize(a)
    assert a < b
    assert a <= b
示例#3
0
def assert_dicts_equal(dict1,dict2, datetimes_to_naive=False):
    """tests equality of two dicts"""
    k1, k2 = list(dict1.keys()), list(dict2.keys())
    k1.sort()
    k2.sort()

    assert k1 == k2
    for key in k1:
        if datetimes_to_naive and isinstance(dict1[key], datetime.datetime) and isinstance(dict2[key], datetime.datetime):
            assert datetime_tz
            assert (datetime_tz.localize(dict1[key]), key) == (datetime_tz.localize(dict2[key]), key)
        else:
            # this assert means we get the key if the assert fails
            assert (dict1[key], key) == (dict2[key], key)
示例#4
0
def assert_dicts_equal(dict1,dict2, datetimes_to_naive=False):
    """tests equality of two dicts"""
    k1, k2 = dict1.keys(), dict2.keys()
    k1.sort()
    k2.sort()

    assert k1 == k2
    for key in k1:
        if datetimes_to_naive and isinstance(dict1[key], datetime.datetime) and isinstance(dict2[key], datetime.datetime):
            assert datetime_tz
            assert (datetime_tz.localize(dict1[key]), key) == (datetime_tz.localize(dict2[key]), key)
        else:
            # this assert means we get the key if the assert fails
            assert (dict1[key], key) == (dict2[key], key)
示例#5
0
 def test_fast_forward_datetime_style(self):
     """Test that fast forwarding the time works properly when using datetime-style objects"""
     event = threading.Event()
     virtualtime.notify_on_change(event)
     offsets = []
     msg_dict = {'offsets': offsets}
     catcher_thread = threading.Thread(target=self.fast_forward_catcher, args=(event, msg_dict))
     catcher_thread.start()
     start_time = virtualtime._original_datetime_now()
     utc_start_time = datetime_tz.localize(start_time).astimezone(pytz.utc)
     virtualtime.fast_forward_timedelta(datetime.timedelta(seconds=1))
     assert virtualtime._time_offset == 1
     virtualtime.fast_forward_timedelta(datetime.timedelta(seconds=2.5))
     assert virtualtime._time_offset == 3.5
     virtualtime.fast_forward_local_datetime(target=start_time + datetime.timedelta(seconds=9.1), step_size=datetime.timedelta(seconds=2.0))
     assert 9 <= virtualtime._time_offset <= 9.2
     virtualtime.fast_forward_utc_datetime(target=utc_start_time + datetime.timedelta(seconds=18.2), step_size=datetime.timedelta(seconds=20.0))
     assert 18 <= virtualtime._time_offset <= 18.3
     virtualtime.restore_time()
     virtualtime.fast_forward_timedelta(datetime.timedelta(seconds=-1.3), step_size=datetime.timedelta(seconds=0.9))
     virtualtime.restore_time()
     msg_dict['stop'] = True
     event.set()
     catcher_thread.join()
     assert offsets[:6] == [1.0, 2.0, 3.0, 3.5, 5.5, 7.5]
     assert 9 <= offsets[6] <= 9.2
     assert 18 <= offsets[7] <= 18.3
     assert offsets[8:12] == [0, -0.9, -1.3, 0]
     # depends on how long the stop event takes?
     assert (not offsets[12:]) or offsets[12:] == [0]
示例#6
0
 def test_switching_values(self):
     now = datetime_tz.datetime_tz.now()
     assert isinstance(now, datetime.datetime)
     assert isinstance(now, datetime_tz.datetime_tz)
     later = now + datetime.timedelta(hours=1)
     assert isinstance(later, datetime.datetime)
     assert isinstance(later, datetime_tz.datetime_tz)
     start = datetime.datetime.combine(now.date(), now.time())
     assert isinstance(start, datetime.datetime)
     local_start = datetime_tz.localize(start)
     assert local_start == now
     assert isinstance(local_start, datetime_tz.datetime_tz)
     start_tz = datetime_tz.datetime_tz.combine(now.date(), now.time(),
                                                datetime_tz.localtz())
     assert isinstance(start_tz, datetime_tz.datetime_tz)
     local_start_tz = datetime_tz.localize(start_tz)
     assert local_start_tz == now
     assert isinstance(local_start_tz, datetime_tz.datetime_tz)
     assert isinstance(datetime_tz.datetime_tz.min, datetime_tz.datetime_tz)
     assert isinstance(datetime_tz.datetime_tz.max, datetime_tz.datetime_tz)
     virtualtime.enable()
     now = datetime_tz.datetime_tz.now()
     assert isinstance(now, datetime.datetime)
     assert isinstance(now, datetime_tz.datetime_tz)
     later = now + datetime.timedelta(hours=1)
     assert isinstance(later, datetime.datetime)
     assert isinstance(later, datetime_tz.datetime_tz)
     start = datetime.datetime.combine(now.date(), now.time())
     assert isinstance(start, datetime.datetime)
     local_start = datetime_tz.localize(start)
     assert local_start == now
     assert isinstance(local_start, datetime_tz.datetime_tz)
     start_tz = datetime_tz.datetime_tz.combine(now.date(), now.time(),
                                                datetime_tz.localtz())
     assert isinstance(start_tz, datetime_tz.datetime_tz)
     local_start_tz = datetime_tz.localize(start_tz)
     assert local_start_tz == now
     assert isinstance(local_start_tz, datetime_tz.datetime_tz)
     assert isinstance(datetime_tz.datetime_tz.min, datetime_tz.datetime_tz)
     assert isinstance(datetime_tz.datetime_tz.max, datetime_tz.datetime_tz)
示例#7
0
 def test_switching_values(self):
     now = datetime_tz.datetime_tz.now()
     assert isinstance(now, datetime.datetime)
     assert isinstance(now, datetime_tz.datetime_tz)
     later = now + datetime.timedelta(hours=1)
     assert isinstance(later, datetime.datetime)
     assert isinstance(later, datetime_tz.datetime_tz)
     start = datetime.datetime.combine(now.date(), now.time())
     assert isinstance(start, datetime.datetime)
     local_start = datetime_tz.localize(start)
     assert local_start == now
     assert isinstance(local_start, datetime_tz.datetime_tz)
     start_tz = datetime_tz.datetime_tz.combine(now.date(), now.time(), datetime_tz.localtz())
     assert isinstance(start_tz, datetime_tz.datetime_tz)
     local_start_tz = datetime_tz.localize(start_tz)
     assert local_start_tz == now
     assert isinstance(local_start_tz, datetime_tz.datetime_tz)
     assert isinstance(datetime_tz.datetime_tz.min, datetime_tz.datetime_tz)
     assert isinstance(datetime_tz.datetime_tz.max, datetime_tz.datetime_tz)
     virtualtime.enable()
     now = datetime_tz.datetime_tz.now()
     assert isinstance(now, datetime.datetime)
     assert isinstance(now, datetime_tz.datetime_tz)
     later = now + datetime.timedelta(hours=1)
     assert isinstance(later, datetime.datetime)
     assert isinstance(later, datetime_tz.datetime_tz)
     start = datetime.datetime.combine(now.date(), now.time())
     assert isinstance(start, datetime.datetime)
     local_start = datetime_tz.localize(start)
     assert local_start == now
     assert isinstance(local_start, datetime_tz.datetime_tz)
     start_tz = datetime_tz.datetime_tz.combine(now.date(), now.time(), datetime_tz.localtz())
     assert isinstance(start_tz, datetime_tz.datetime_tz)
     local_start_tz = datetime_tz.localize(start_tz)
     assert local_start_tz == now
     assert isinstance(local_start_tz, datetime_tz.datetime_tz)
     assert isinstance(datetime_tz.datetime_tz.min, datetime_tz.datetime_tz)
     assert isinstance(datetime_tz.datetime_tz.max, datetime_tz.datetime_tz)
示例#8
0
 def test_fast_forward_datetime_style(self):
     """Test that fast forwarding the time works properly when using datetime-style objects"""
     event = threading.Event()
     virtualtime.notify_on_change(event)
     offsets = []
     msg_dict = {'offsets': offsets}
     catcher_thread = threading.Thread(target=self.fast_forward_catcher,
                                       args=(event, msg_dict))
     catcher_thread.start()
     start_time = virtualtime._original_datetime_now()
     utc_start_time = datetime_tz.localize(start_time).astimezone(pytz.utc)
     virtualtime.fast_forward_timedelta(datetime.timedelta(seconds=1))
     assert virtualtime._time_offset == 1
     virtualtime.fast_forward_timedelta(datetime.timedelta(seconds=2.5))
     assert virtualtime._time_offset == 3.5
     virtualtime.fast_forward_local_datetime(
         target=start_time + datetime.timedelta(seconds=9.1),
         step_size=datetime.timedelta(seconds=2.0))
     assert 9 <= virtualtime._time_offset <= 9.2
     virtualtime.fast_forward_utc_datetime(
         target=utc_start_time + datetime.timedelta(seconds=18.2),
         step_size=datetime.timedelta(seconds=20.0))
     assert 18 <= virtualtime._time_offset <= 18.3
     virtualtime.restore_time()
     virtualtime.fast_forward_timedelta(
         datetime.timedelta(seconds=-1.3),
         step_size=datetime.timedelta(seconds=0.9))
     virtualtime.restore_time()
     msg_dict['stop'] = True
     event.set()
     catcher_thread.join()
     assert offsets[:6] == [1.0, 2.0, 3.0, 3.5, 5.5, 7.5]
     assert 9 <= offsets[6] <= 9.2
     assert 18 <= offsets[7] <= 18.3
     assert offsets[8:12] == [0, -0.9, -1.3, 0]
     # depends on how long the stop event takes?
     assert (not offsets[12:]) or offsets[12:] == [0]
示例#9
0
def test_compare_tz_second():
    a = datetime.datetime(2012,3,4,1,2,3)
    if not PY2:
        a = localize(a)
    b = datetime_tz.datetime_tz(2012,3,4,1,2,3)
    assert b == a
示例#10
0
def test_compare_tz_first():
    a = datetime.datetime(2012,3,4,1,2,3)
    if not PY2:
        a = localize(a)
    b = datetime_tz.datetime_tz(2012,3,4,1,2,3)
    assert a == b