diff --git a/pandas/tests/frame/test_constructors.py b/pandas/tests/frame/test_constructors.py index 951a462bad3e3..27c12aa4fb3d1 100644 --- a/pandas/tests/frame/test_constructors.py +++ b/pandas/tests/frame/test_constructors.py @@ -1004,6 +1004,21 @@ def test_constructor_dtype(self, data, index, columns, dtype, expected): df = DataFrame(data, index, columns, dtype) assert df.values.dtype == expected + @pytest.mark.parametrize( + "data,input_dtype,expected_dtype", + ( + ([True, False, None], "boolean", pd.BooleanDtype), + ([1.0, 2.0, None], "Float64", pd.Float64Dtype), + ([1, 2, None], "Int64", pd.Int64Dtype), + (["a", "b", "c"], "string", pd.StringDtype), + ), + ) + def test_constructor_dtype_nullable_extension_arrays( + self, data, input_dtype, expected_dtype + ): + df = DataFrame({"a": data}, dtype=input_dtype) + assert df["a"].dtype == expected_dtype() + def test_constructor_scalar_inference(self): data = {"int": 1, "bool": True, "float": 3.0, "complex": 4j, "object": "foo"} df = DataFrame(data, index=np.arange(10))