11from __future__ import annotations
22
3- import pandas as pd
43import pytest
54from packaging .version import Version
6- from packaging .version import parse
75
86from tests .utils import BaseHandler
97from tests .utils import convert_to_standard_compliant_dataframe
108from tests .utils import integer_dataframe_1
9+ from tests .utils import pandas_version
1110
1211
1312def test_name (library : BaseHandler ) -> None :
@@ -17,15 +16,26 @@ def test_name(library: BaseHandler) -> None:
1716
1817
1918def test_pandas_name_if_0_named_column () -> None :
19+ import pandas as pd
20+
2021 df = convert_to_standard_compliant_dataframe (pd .DataFrame ({0 : [1 , 2 , 3 ]}))
2122 assert df .column_names == [0 ] # type: ignore[comparison-overlap]
2223 assert [col .name for col in df .iter_columns ()] == [0 ] # type: ignore[comparison-overlap]
2324
2425
25- @pytest .mark .skipif (
26- parse (pd .__version__ ) < Version ("2.1.0" ),
27- reason = "before consoritum standard" ,
28- )
29- def test_invalid_name_pandas () -> None :
30- with pytest .raises (ValueError ):
31- pd .Series ([1 , 2 , 3 ], name = 0 ).__column_consortium_standard__ ()
26+ def test_invalid_column_name (library : BaseHandler ) -> None :
27+ if library .name in ("pandas-numpy" , "pandas-nullable" ):
28+ import pandas as pd
29+
30+ if pandas_version () < Version ("2.1.0" ): # pragma: no cover
31+ pytest .skip (reason = "before consoritum standard" )
32+ with pytest .raises (ValueError ):
33+ pd .Series ([1 , 2 , 3 ], name = 0 ).__column_consortium_standard__ ()
34+ elif library .name == "modin" :
35+ import modin .pandas as pd
36+
37+ with pytest .raises (ValueError ):
38+ pd .Series ([1 , 2 , 3 ], name = 0 ).__column_consortium_standard__ ()
39+ else : # pragma: no cover
40+ msg = f"Not supported library: { library } "
41+ raise AssertionError (msg )
0 commit comments