|
8 | 8 |
|
9 | 9 | import narwhals as nw |
10 | 10 | import narwhals.stable.v1 as nw_v1 |
11 | | -from tests.utils import Constructor |
| 11 | +from tests.utils import ConstructorEager |
12 | 12 | from tests.utils import assert_equal_data |
13 | 13 |
|
14 | 14 | if TYPE_CHECKING: |
|
24 | 24 | } |
25 | 25 |
|
26 | 26 |
|
27 | | -def test_from_numpy(constructor: Constructor, request: pytest.FixtureRequest) -> None: |
28 | | - if "dask" in str(constructor) or "pyspark" in str(constructor): |
29 | | - request.applymarker(pytest.mark.xfail) |
30 | | - df = nw.from_native(constructor(data)) |
| 27 | +def test_from_numpy(constructor_eager: ConstructorEager) -> None: |
| 28 | + df = nw.from_native(constructor_eager(data)) |
31 | 29 | backend = nw.get_native_namespace(df) |
32 | 30 | result = nw.from_numpy(arr, backend=backend) |
33 | 31 | assert_equal_data(result, expected) |
34 | 32 | assert isinstance(result, nw.DataFrame) |
35 | 33 |
|
36 | 34 |
|
37 | | -def test_from_numpy_schema_dict( |
38 | | - constructor: Constructor, request: pytest.FixtureRequest |
39 | | -) -> None: |
40 | | - if "dask" in str(constructor) or "pyspark" in str(constructor): |
41 | | - request.applymarker(pytest.mark.xfail) |
| 35 | +def test_from_numpy_schema_dict(constructor_eager: ConstructorEager) -> None: |
42 | 36 | schema = { |
43 | 37 | "c": nw_v1.Int16(), |
44 | 38 | "d": nw_v1.Float32(), |
45 | 39 | "e": nw_v1.Int16(), |
46 | 40 | "f": nw_v1.Float64(), |
47 | 41 | } |
48 | | - df = nw_v1.from_native(constructor(data)) |
| 42 | + df = nw_v1.from_native(constructor_eager(data)) |
49 | 43 | backend = nw_v1.get_native_namespace(df) |
50 | 44 | result = nw_v1.from_numpy(arr, backend=backend, schema=schema) |
51 | 45 | assert result.collect_schema() == schema |
52 | 46 |
|
53 | 47 |
|
54 | | -def test_from_numpy_schema_list( |
55 | | - constructor: Constructor, request: pytest.FixtureRequest |
56 | | -) -> None: |
57 | | - if "dask" in str(constructor) or "pyspark" in str(constructor): |
58 | | - request.applymarker(pytest.mark.xfail) |
| 48 | +def test_from_numpy_schema_list(constructor_eager: ConstructorEager) -> None: |
59 | 49 | schema = ["c", "d", "e", "f"] |
60 | | - df = nw_v1.from_native(constructor(data)) |
| 50 | + df = nw_v1.from_native(constructor_eager(data)) |
61 | 51 | backend = nw_v1.get_native_namespace(df) |
62 | 52 | result = nw_v1.from_numpy(arr, backend=backend, schema=schema) |
63 | 53 | assert result.columns == schema |
64 | 54 |
|
65 | 55 |
|
66 | | -def test_from_numpy_schema_notvalid(constructor: Constructor) -> None: |
67 | | - df = nw.from_native(constructor(data)) |
| 56 | +def test_from_numpy_schema_notvalid(constructor_eager: ConstructorEager) -> None: |
| 57 | + df = nw.from_native(constructor_eager(data)) |
68 | 58 | backend = nw_v1.get_native_namespace(df) |
69 | 59 | with pytest.raises(TypeError, match=r"`schema.*expected.*types"): |
70 | 60 | nw.from_numpy(arr, schema=5, backend=backend) # type: ignore[arg-type] |
71 | 61 |
|
72 | 62 |
|
73 | | -def test_from_numpy_v1(constructor: Constructor, request: pytest.FixtureRequest) -> None: |
74 | | - if "dask" in str(constructor) or "pyspark" in str(constructor): |
75 | | - request.applymarker(pytest.mark.xfail) |
76 | | - df = nw_v1.from_native(constructor(data)) |
| 63 | +def test_from_numpy_v1(constructor_eager: ConstructorEager) -> None: |
| 64 | + df = nw_v1.from_native(constructor_eager(data)) |
77 | 65 | backend = nw_v1.get_native_namespace(df) |
78 | 66 | result = nw_v1.from_numpy(arr, backend=backend) |
79 | 67 | assert_equal_data(result, expected) |
80 | 68 | assert isinstance(result, nw_v1.DataFrame) |
81 | 69 |
|
82 | 70 |
|
83 | | -def test_from_numpy_not2d(constructor: Constructor) -> None: |
84 | | - df = nw.from_native(constructor(data)) |
| 71 | +def test_from_numpy_not2d(constructor_eager: ConstructorEager) -> None: |
| 72 | + df = nw.from_native(constructor_eager(data)) |
85 | 73 | backend = nw_v1.get_native_namespace(df) |
86 | 74 | with pytest.raises(ValueError, match="`from_numpy` only accepts 2D numpy arrays"): |
87 | 75 | nw.from_numpy(np.array([0]), backend=backend) # pyright: ignore[reportArgumentType] |
0 commit comments