@@ -154,6 +154,32 @@ def test_reindex(self, data, na_value):
154
154
self ._check_unsupported (data )
155
155
super ().test_reindex (data , na_value )
156
156
157
+ def test_getitem_mask (self , data ):
158
+ # Empty mask, raw array
159
+ mask = np .zeros (len (data ), dtype = bool )
160
+ result = data [mask ]
161
+ assert len (result ) == 0
162
+ assert isinstance (result , type (data ))
163
+
164
+ # Empty mask, in series
165
+ mask = np .zeros (len (data ), dtype = bool )
166
+ result = pd .Series (data )[mask ]
167
+ assert len (result ) == 0
168
+
169
+ # we change int -> float because of the masking
170
+ assert result .dtype == SparseDtype ('float64' , data .dtype .fill_value )
171
+
172
+ # non-empty mask, raw array
173
+ mask [0 ] = True
174
+ result = data [mask ]
175
+ assert len (result ) == 1
176
+ assert isinstance (result , type (data ))
177
+
178
+ # non-empty mask, in series
179
+ result = pd .Series (data )[mask ]
180
+ assert len (result ) == 1
181
+ assert result .dtype == data .dtype
182
+
157
183
158
184
# Skipping TestSetitem, since we don't implement it.
159
185
0 commit comments