Skip to content

Commit ea17df5

Browse files
thoojreback
authored andcommitted
Add tests in methods.py (#23261)
1 parent a2e5994 commit ea17df5

File tree

4 files changed

+56
-0
lines changed

4 files changed

+56
-0
lines changed

pandas/tests/extension/base/methods.py

+24
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,30 @@ def test_factorize_equivalence(self, data_for_grouping, na_sentinel):
105105
tm.assert_numpy_array_equal(l1, l2)
106106
self.assert_extension_array_equal(u1, u2)
107107

108+
def test_fillna_copy_frame(self, data_missing):
109+
arr = data_missing.take([1, 1])
110+
df = pd.DataFrame({"A": arr})
111+
112+
filled_val = df.iloc[0, 0]
113+
result = df.fillna(filled_val)
114+
115+
assert df.A.values is not result.A.values
116+
117+
def test_fillna_copy_series(self, data_missing):
118+
arr = data_missing.take([1, 1])
119+
ser = pd.Series(arr)
120+
121+
filled_val = ser[0]
122+
result = ser.fillna(filled_val)
123+
124+
assert ser._values is not result._values
125+
assert ser._values is arr
126+
127+
def test_fillna_length_mismatch(self, data_missing):
128+
with (tm.assert_raises_regex(ValueError,
129+
"Length of 'value' does not match.")):
130+
data_missing.fillna(data_missing.take([1]))
131+
108132
def test_combine_le(self, data_repeated):
109133
# GH 20825
110134
# Test that combine works when doing a <= (le) comparison

pandas/tests/extension/test_categorical.py

+4
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,10 @@ def test_combine_add(self, data_repeated):
191191
expected = pd.Series([a + val for a in list(orig_data1)])
192192
self.assert_series_equal(result, expected)
193193

194+
@pytest.mark.skip(reason="Not Applicable")
195+
def test_fillna_length_mismatch(self, data_missing):
196+
pass
197+
194198

195199
class TestCasting(base.BaseCastingTests):
196200
pass

pandas/tests/extension/test_interval.py

+4
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,10 @@ class TestMethods(BaseInterval, base.BaseMethodsTests):
109109
def test_combine_add(self, data_repeated):
110110
pass
111111

112+
@pytest.mark.skip(reason="Not Applicable")
113+
def test_fillna_length_mismatch(self, data_missing):
114+
pass
115+
112116

113117
class TestMissing(BaseInterval, base.BaseMissingTests):
114118
# Index.fillna only accepts scalar `value`, so we have to skip all

pandas/tests/extension/test_sparse.py

+24
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,30 @@ def test_combine_le(self, data_repeated):
231231
], fill_value=False))
232232
self.assert_series_equal(result, expected)
233233

234+
def test_fillna_copy_frame(self, data_missing):
235+
arr = data_missing.take([1, 1])
236+
df = pd.DataFrame({"A": arr})
237+
238+
filled_val = df.iloc[0, 0]
239+
result = df.fillna(filled_val)
240+
241+
assert df.values.base is not result.values.base
242+
assert df.A._values.to_dense() is arr.to_dense()
243+
244+
def test_fillna_copy_series(self, data_missing):
245+
arr = data_missing.take([1, 1])
246+
ser = pd.Series(arr)
247+
248+
filled_val = ser[0]
249+
result = ser.fillna(filled_val)
250+
251+
assert ser._values is not result._values
252+
assert ser._values.to_dense() is arr.to_dense()
253+
254+
@pytest.mark.skip(reason="Not Applicable")
255+
def test_fillna_length_mismatch(self, data_missing):
256+
pass
257+
234258

235259
class TestCasting(BaseSparseTests, base.BaseCastingTests):
236260
pass

0 commit comments

Comments
 (0)