@@ -20,33 +20,47 @@ def f(x):
20
20
tm .assert_numpy_array_equal (result , expected )
21
21
22
22
23
- def _compare_local_to_utc (tz_didx , utc_didx ):
23
+ def _compare_local_to_utc (tz_didx , naive_didx ):
24
+ # Check that tz_localize behaves the same vectorized and pointwise.
24
25
def f (x ):
25
26
return tzconversion .tz_convert_single (x , tz_didx .tz , UTC )
26
27
27
- result = tzconversion .tz_convert (utc_didx .asi8 , tz_didx .tz , UTC )
28
- expected = np .vectorize (f )(utc_didx .asi8 )
28
+ err1 = err2 = None
29
+ try :
30
+ result = tzconversion .tz_localize_to_utc (naive_didx .asi8 , tz_didx .tz )
31
+ err1 = None
32
+ except Exception as err :
33
+ err1 = err
29
34
30
- tm .assert_numpy_array_equal (result , expected )
35
+ try :
36
+ expected = naive_didx .map (lambda x : x .tz_localize (tz_didx .tz )).asi8
37
+ except Exception as err :
38
+ err2 = err
39
+
40
+ if err1 is not None :
41
+ assert type (err1 ) == type (err2 )
42
+ else :
43
+ assert err2 is None
44
+ tm .assert_numpy_array_equal (result , expected )
31
45
32
46
33
47
def test_tz_convert_single_matches_tz_convert_hourly (tz_aware_fixture ):
34
48
tz = tz_aware_fixture
35
49
tz_didx = date_range ("2014-03-01" , "2015-01-10" , freq = "H" , tz = tz )
36
- utc_didx = date_range ("2014-03-01" , "2015-01-10" , freq = "H" )
50
+ naive_didx = date_range ("2014-03-01" , "2015-01-10" , freq = "H" )
37
51
38
52
_compare_utc_to_local (tz_didx )
39
- _compare_local_to_utc (tz_didx , utc_didx )
53
+ _compare_local_to_utc (tz_didx , naive_didx )
40
54
41
55
42
56
@pytest .mark .parametrize ("freq" , ["D" , "A" ])
43
57
def test_tz_convert_single_matches_tz_convert (tz_aware_fixture , freq ):
44
58
tz = tz_aware_fixture
45
59
tz_didx = date_range ("2000-01-01" , "2020-01-01" , freq = freq , tz = tz )
46
- utc_didx = date_range ("2000-01-01" , "2020-01-01" , freq = freq )
60
+ naive_didx = date_range ("2000-01-01" , "2020-01-01" , freq = freq )
47
61
48
62
_compare_utc_to_local (tz_didx )
49
- _compare_local_to_utc (tz_didx , utc_didx )
63
+ _compare_local_to_utc (tz_didx , naive_didx )
50
64
51
65
52
66
@pytest .mark .parametrize (
@@ -57,9 +71,6 @@ def test_tz_convert_single_matches_tz_convert(tz_aware_fixture, freq):
57
71
],
58
72
)
59
73
def test_tz_convert_corner (arr ):
60
- result = tzconversion .tz_convert (arr , timezones .maybe_get_tz ("US/Eastern" ), UTC )
61
- tm .assert_numpy_array_equal (result , arr )
62
-
63
74
result = tzconversion .tz_convert (arr , UTC , timezones .maybe_get_tz ("Asia/Tokyo" ))
64
75
tm .assert_numpy_array_equal (result , arr )
65
76
0 commit comments