14
14
date_range )
15
15
16
16
17
- class TestDatetimeIndexArithmetic (object ):
18
- tz = [None , 'UTC' , 'Asia/Tokyo' , 'US/Eastern' , 'dateutil/Asia/Singapore' ,
19
- 'dateutil/US/Pacific' ]
17
+ @pytest .fixture (params = [None , 'UTC' , 'Asia/Tokyo' ,
18
+ 'US/Eastern' , 'dateutil/Asia/Singapore' ,
19
+ 'dateutil/US/Pacific' ])
20
+ def tz (request ):
21
+ return request .param
22
+
20
23
24
+ @pytest .fixture (params = [pd .offsets .Hour (2 ), timedelta (hours = 2 ),
25
+ np .timedelta64 (2 , 'h' ), Timedelta (hours = 2 )],
26
+ ids = str )
27
+ def delta (request ):
21
28
# Several ways of representing two hours
22
- two_hour_variants = [pd .offsets .Hour (2 ), timedelta (hours = 2 ),
23
- np .timedelta64 (2 , 'h' ), Timedelta (hours = 2 )]
29
+ return request .param
30
+
31
+
32
+ @pytest .fixture (
33
+ params = [
34
+ datetime (2011 , 1 , 1 ),
35
+ DatetimeIndex (['2011-01-01' , '2011-01-02' ]),
36
+ DatetimeIndex (['2011-01-01' , '2011-01-02' ]).tz_localize ('US/Eastern' ),
37
+ np .datetime64 ('2011-01-01' ),
38
+ Timestamp ('2011-01-01' )],
39
+ ids = lambda x : type (x ).__name__ )
40
+ def addend (request ):
41
+ return request .param
42
+
43
+
44
+ class TestDatetimeIndexArithmetic (object ):
24
45
25
46
def test_dti_add_timestamp_raises (self ):
26
47
idx = DatetimeIndex (['2011-01-01' , '2011-01-02' ])
@@ -37,7 +58,6 @@ def test_dti_radd_timestamp_raises(self):
37
58
# -------------------------------------------------------------
38
59
# Binary operations DatetimeIndex and int
39
60
40
- @pytest .mark .parametrize ('tz' , tz )
41
61
def test_dti_add_int (self , tz ):
42
62
rng = pd .date_range ('2000-01-01 09:00' , freq = 'H' ,
43
63
periods = 10 , tz = tz )
@@ -46,7 +66,6 @@ def test_dti_add_int(self, tz):
46
66
periods = 10 , tz = tz )
47
67
tm .assert_index_equal (result , expected )
48
68
49
- @pytest .mark .parametrize ('tz' , tz )
50
69
def test_dti_iadd_int (self , tz ):
51
70
rng = pd .date_range ('2000-01-01 09:00' , freq = 'H' ,
52
71
periods = 10 , tz = tz )
@@ -55,7 +74,6 @@ def test_dti_iadd_int(self, tz):
55
74
rng += 1
56
75
tm .assert_index_equal (rng , expected )
57
76
58
- @pytest .mark .parametrize ('tz' , tz )
59
77
def test_dti_sub_int (self , tz ):
60
78
rng = pd .date_range ('2000-01-01 09:00' , freq = 'H' ,
61
79
periods = 10 , tz = tz )
@@ -64,7 +82,6 @@ def test_dti_sub_int(self, tz):
64
82
periods = 10 , tz = tz )
65
83
tm .assert_index_equal (result , expected )
66
84
67
- @pytest .mark .parametrize ('tz' , tz )
68
85
def test_dti_isub_int (self , tz ):
69
86
rng = pd .date_range ('2000-01-01 09:00' , freq = 'H' ,
70
87
periods = 10 , tz = tz )
@@ -76,35 +93,27 @@ def test_dti_isub_int(self, tz):
76
93
# -------------------------------------------------------------
77
94
# Binary operations DatetimeIndex and timedelta-like
78
95
79
- @pytest .mark .parametrize ('delta' , two_hour_variants )
80
- @pytest .mark .parametrize ('tz' , tz )
81
96
def test_dti_add_timedeltalike (self , tz , delta ):
82
97
rng = pd .date_range ('2000-01-01' , '2000-02-01' , tz = tz )
83
98
result = rng + delta
84
99
expected = pd .date_range ('2000-01-01 02:00' ,
85
100
'2000-02-01 02:00' , tz = tz )
86
101
tm .assert_index_equal (result , expected )
87
102
88
- @pytest .mark .parametrize ('delta' , two_hour_variants )
89
- @pytest .mark .parametrize ('tz' , tz )
90
103
def test_dti_iadd_timedeltalike (self , tz , delta ):
91
104
rng = pd .date_range ('2000-01-01' , '2000-02-01' , tz = tz )
92
105
expected = pd .date_range ('2000-01-01 02:00' ,
93
106
'2000-02-01 02:00' , tz = tz )
94
107
rng += delta
95
108
tm .assert_index_equal (rng , expected )
96
109
97
- @pytest .mark .parametrize ('delta' , two_hour_variants )
98
- @pytest .mark .parametrize ('tz' , tz )
99
110
def test_dti_sub_timedeltalike (self , tz , delta ):
100
111
rng = pd .date_range ('2000-01-01' , '2000-02-01' , tz = tz )
101
112
expected = pd .date_range ('1999-12-31 22:00' ,
102
113
'2000-01-31 22:00' , tz = tz )
103
114
result = rng - delta
104
115
tm .assert_index_equal (result , expected )
105
116
106
- @pytest .mark .parametrize ('delta' , two_hour_variants )
107
- @pytest .mark .parametrize ('tz' , tz )
108
117
def test_dti_isub_timedeltalike (self , tz , delta ):
109
118
rng = pd .date_range ('2000-01-01' , '2000-02-01' , tz = tz )
110
119
expected = pd .date_range ('1999-12-31 22:00' ,
@@ -117,12 +126,6 @@ def test_dti_isub_timedeltalike(self, tz, delta):
117
126
# TODO: A couple other tests belong in this section. Move them in
118
127
# A PR where there isn't already a giant diff.
119
128
120
- @pytest .mark .parametrize ('addend' , [
121
- datetime (2011 , 1 , 1 ),
122
- DatetimeIndex (['2011-01-01' , '2011-01-02' ]),
123
- DatetimeIndex (['2011-01-01' , '2011-01-02' ]).tz_localize ('US/Eastern' ),
124
- np .datetime64 ('2011-01-01' ),
125
- Timestamp ('2011-01-01' )])
126
129
def test_add_datetimelike_and_dti (self , addend ):
127
130
# GH#9631
128
131
dti = DatetimeIndex (['2011-01-01' , '2011-01-02' ])
@@ -133,12 +136,6 @@ def test_add_datetimelike_and_dti(self, addend):
133
136
with tm .assert_raises_regex (TypeError , msg ):
134
137
addend + dti
135
138
136
- @pytest .mark .parametrize ('addend' , [
137
- datetime (2011 , 1 , 1 ),
138
- DatetimeIndex (['2011-01-01' , '2011-01-02' ]),
139
- DatetimeIndex (['2011-01-01' , '2011-01-02' ]).tz_localize ('US/Eastern' ),
140
- np .datetime64 ('2011-01-01' ),
141
- Timestamp ('2011-01-01' )])
142
139
def test_add_datetimelike_and_dti_tz (self , addend ):
143
140
# GH#9631
144
141
dti_tz = DatetimeIndex (['2011-01-01' ,
0 commit comments