Skip to content

Commit 8650b6f

Browse files
committed
parametrise over more types
1 parent bb0b7fa commit 8650b6f

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

pandas/tests/interchange/test_impl.py

+19-4
Original file line numberDiff line numberDiff line change
@@ -433,15 +433,30 @@ def test_nullable_integers_pyarrow() -> None:
433433
tm.assert_frame_equal(result, expected)
434434

435435

436-
def test_nullable_integers_w_missing_values() -> None:
436+
@pytest.mark.parametrize(
437+
("data", "dtype", "expected_dtype"),
438+
[
439+
([1, 2, None], "Int64", "int64"),
440+
(
441+
[1, 2, None],
442+
"UInt64",
443+
"uint64",
444+
),
445+
([1.0, 2.25, None], "Float32", "float32"),
446+
],
447+
)
448+
def test_pandas_nullable_w_missing_values(
449+
data: list, dtype: str, expected_dtype: str
450+
) -> None:
437451
# https://github.com/pandas-dev/pandas/issues/57643
438452
pytest.importorskip("pyarrow", "11.0.0")
439453
import pyarrow.interchange as pai
440454

441-
df = pd.DataFrame({"a": [1, 2, None]}, dtype="Int64")
455+
df = pd.DataFrame({"a": data}, dtype=dtype)
442456
result = pai.from_dataframe(df.__dataframe__())["a"]
443-
assert result[0].as_py() == 1
444-
assert result[1].as_py() == 2
457+
assert result.type == expected_dtype
458+
assert result[0].as_py() == data[0]
459+
assert result[1].as_py() == data[1]
445460
assert result[2].as_py() is None
446461

447462

0 commit comments

Comments
 (0)