@@ -93,7 +93,8 @@ def test_set_levels(idx):
93
93
94
94
# level changing [w/ mutation]
95
95
ind2 = idx .copy ()
96
- inplace_return = ind2 .set_levels (new_levels , inplace = True )
96
+ with tm .assert_produces_warning (FutureWarning ):
97
+ inplace_return = ind2 .set_levels (new_levels , inplace = True )
97
98
assert inplace_return is None
98
99
assert_matching (ind2 .levels , new_levels )
99
100
@@ -113,20 +114,23 @@ def test_set_levels(idx):
113
114
114
115
# level changing specific level [w/ mutation]
115
116
ind2 = idx .copy ()
116
- inplace_return = ind2 .set_levels (new_levels [0 ], level = 0 , inplace = True )
117
+ with tm .assert_produces_warning (FutureWarning ):
118
+ inplace_return = ind2 .set_levels (new_levels [0 ], level = 0 , inplace = True )
117
119
assert inplace_return is None
118
120
assert_matching (ind2 .levels , [new_levels [0 ], levels [1 ]])
119
121
assert_matching (idx .levels , levels )
120
122
121
123
ind2 = idx .copy ()
122
- inplace_return = ind2 .set_levels (new_levels [1 ], level = 1 , inplace = True )
124
+ with tm .assert_produces_warning (FutureWarning ):
125
+ inplace_return = ind2 .set_levels (new_levels [1 ], level = 1 , inplace = True )
123
126
assert inplace_return is None
124
127
assert_matching (ind2 .levels , [levels [0 ], new_levels [1 ]])
125
128
assert_matching (idx .levels , levels )
126
129
127
130
# level changing multiple levels [w/ mutation]
128
131
ind2 = idx .copy ()
129
- inplace_return = ind2 .set_levels (new_levels , level = [0 , 1 ], inplace = True )
132
+ with tm .assert_produces_warning (FutureWarning ):
133
+ inplace_return = ind2 .set_levels (new_levels , level = [0 , 1 ], inplace = True )
130
134
assert inplace_return is None
131
135
assert_matching (ind2 .levels , new_levels )
132
136
assert_matching (idx .levels , levels )
@@ -136,19 +140,23 @@ def test_set_levels(idx):
136
140
original_index = idx .copy ()
137
141
for inplace in [True , False ]:
138
142
with pytest .raises (ValueError , match = "^On" ):
139
- idx .set_levels (["c" ], level = 0 , inplace = inplace )
143
+ with tm .assert_produces_warning (FutureWarning ):
144
+ idx .set_levels (["c" ], level = 0 , inplace = inplace )
140
145
assert_matching (idx .levels , original_index .levels , check_dtype = True )
141
146
142
147
with pytest .raises (ValueError , match = "^On" ):
143
- idx .set_codes ([0 , 1 , 2 , 3 , 4 , 5 ], level = 0 , inplace = inplace )
148
+ with tm .assert_produces_warning (FutureWarning ):
149
+ idx .set_codes ([0 , 1 , 2 , 3 , 4 , 5 ], level = 0 , inplace = inplace )
144
150
assert_matching (idx .codes , original_index .codes , check_dtype = True )
145
151
146
152
with pytest .raises (TypeError , match = "^Levels" ):
147
- idx .set_levels ("c" , level = 0 , inplace = inplace )
153
+ with tm .assert_produces_warning (FutureWarning ):
154
+ idx .set_levels ("c" , level = 0 , inplace = inplace )
148
155
assert_matching (idx .levels , original_index .levels , check_dtype = True )
149
156
150
157
with pytest .raises (TypeError , match = "^Codes" ):
151
- idx .set_codes (1 , level = 0 , inplace = inplace )
158
+ with tm .assert_produces_warning (FutureWarning ):
159
+ idx .set_codes (1 , level = 0 , inplace = inplace )
152
160
assert_matching (idx .codes , original_index .codes , check_dtype = True )
153
161
154
162
@@ -168,7 +176,8 @@ def test_set_codes(idx):
168
176
169
177
# changing label w/ mutation
170
178
ind2 = idx .copy ()
171
- inplace_return = ind2 .set_codes (new_codes , inplace = True )
179
+ with tm .assert_produces_warning (FutureWarning ):
180
+ inplace_return = ind2 .set_codes (new_codes , inplace = True )
172
181
assert inplace_return is None
173
182
assert_matching (ind2 .codes , new_codes )
174
183
@@ -188,20 +197,23 @@ def test_set_codes(idx):
188
197
189
198
# label changing specific level w/ mutation
190
199
ind2 = idx .copy ()
191
- inplace_return = ind2 .set_codes (new_codes [0 ], level = 0 , inplace = True )
200
+ with tm .assert_produces_warning (FutureWarning ):
201
+ inplace_return = ind2 .set_codes (new_codes [0 ], level = 0 , inplace = True )
192
202
assert inplace_return is None
193
203
assert_matching (ind2 .codes , [new_codes [0 ], codes [1 ]])
194
204
assert_matching (idx .codes , codes )
195
205
196
206
ind2 = idx .copy ()
197
- inplace_return = ind2 .set_codes (new_codes [1 ], level = 1 , inplace = True )
207
+ with tm .assert_produces_warning (FutureWarning ):
208
+ inplace_return = ind2 .set_codes (new_codes [1 ], level = 1 , inplace = True )
198
209
assert inplace_return is None
199
210
assert_matching (ind2 .codes , [codes [0 ], new_codes [1 ]])
200
211
assert_matching (idx .codes , codes )
201
212
202
213
# codes changing multiple levels [w/ mutation]
203
214
ind2 = idx .copy ()
204
- inplace_return = ind2 .set_codes (new_codes , level = [0 , 1 ], inplace = True )
215
+ with tm .assert_produces_warning (FutureWarning ):
216
+ inplace_return = ind2 .set_codes (new_codes , level = [0 , 1 ], inplace = True )
205
217
assert inplace_return is None
206
218
assert_matching (ind2 .codes , new_codes )
207
219
assert_matching (idx .codes , codes )
@@ -217,7 +229,8 @@ def test_set_codes(idx):
217
229
218
230
# [w/ mutation]
219
231
result = ind .copy ()
220
- result .set_codes (codes = new_codes , level = 1 , inplace = True )
232
+ with tm .assert_produces_warning (FutureWarning ):
233
+ result .set_codes (codes = new_codes , level = 1 , inplace = True )
221
234
assert result .equals (expected )
222
235
223
236
@@ -329,3 +342,19 @@ def test_set_levels_with_iterable():
329
342
[expected_sizes , colors ], names = ["size" , "color" ]
330
343
)
331
344
tm .assert_index_equal (result , expected )
345
+
346
+
347
+ @pytest .mark .parametrize ("inplace" , [True , False ])
348
+ def test_set_codes_inplace_deprecated (idx , inplace ):
349
+ new_codes = idx .codes [1 ][::- 1 ]
350
+
351
+ with tm .assert_produces_warning (FutureWarning ):
352
+ idx .set_codes (codes = new_codes , level = 1 , inplace = inplace )
353
+
354
+
355
+ @pytest .mark .parametrize ("inplace" , [True , False ])
356
+ def test_set_levels_inplace_deprecated (idx , inplace ):
357
+ new_level = idx .levels [1 ].copy ()
358
+
359
+ with tm .assert_produces_warning (FutureWarning ):
360
+ idx .set_levels (levels = new_level , level = 1 , inplace = inplace )
0 commit comments