Skip to content

Commit 856dc02

Browse files
add tests for .array being readonly
1 parent 91465ee commit 856dc02

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

pandas/tests/copy_view/test_array.py

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919
"method",
2020
[
2121
lambda ser: ser.values,
22+
lambda ser: np.asarray(ser.array),
2223
lambda ser: np.asarray(ser),
2324
lambda ser: np.array(ser, copy=False),
2425
],
25-
ids=["values", "asarray", "array"],
26+
ids=["values", "array", "np.asarray", "np.array"],
2627
)
2728
def test_series_values(method):
2829
ser = Series([1, 2, 3], name="name")
@@ -105,24 +106,38 @@ def test_series_to_numpy():
105106
assert arr.flags.writeable is True
106107

107108

108-
def test_series_array_ea_dtypes():
109+
@pytest.mark.parametrize(
110+
"method",
111+
[
112+
lambda ser: np.asarray(ser.array),
113+
lambda ser: np.asarray(ser),
114+
lambda ser: np.asarray(ser, dtype="int64"),
115+
lambda ser: np.array(ser, copy=False),
116+
],
117+
ids=["array", "np.asarray", "np.asarray-dtype", "np.array"],
118+
)
119+
def test_series_values_ea_dtypes(method):
109120
ser = Series([1, 2, 3], dtype="Int64")
110-
arr = np.asarray(ser, dtype="int64")
111-
assert np.shares_memory(arr, get_array(ser))
112-
assert arr.flags.writeable is False
121+
arr = method(ser)
113122

114-
arr = np.asarray(ser)
115123
assert np.shares_memory(arr, get_array(ser))
116124
assert arr.flags.writeable is False
117125

118126

119-
def test_dataframe_array_ea_dtypes():
127+
@pytest.mark.parametrize(
128+
"method",
129+
[
130+
lambda df: df.values,
131+
lambda df: np.asarray(df),
132+
lambda df: np.asarray(df, dtype="int64"),
133+
lambda df: np.array(df, copy=False),
134+
],
135+
ids=["values", "np.asarray", "np.asarray-dtype", "np.array"],
136+
)
137+
def test_dataframe_array_ea_dtypes(method):
120138
df = DataFrame({"a": [1, 2, 3]}, dtype="Int64")
121-
arr = np.asarray(df, dtype="int64")
122-
assert np.shares_memory(arr, get_array(df, "a"))
123-
assert arr.flags.writeable is False
139+
arr = method(df)
124140

125-
arr = np.asarray(df)
126141
assert np.shares_memory(arr, get_array(df, "a"))
127142
assert arr.flags.writeable is False
128143

0 commit comments

Comments
 (0)