numpydantic/tests/test_interface/conftest.py

40 lines
1 KiB
Python
Raw Permalink Normal View History

2024-04-09 01:36:47 +00:00
import pytest
import numpy as np
import dask.array as da
2024-04-30 02:49:38 +00:00
import zarr
2024-04-09 01:36:47 +00:00
from numpydantic import interface
@pytest.fixture(
scope="function",
params=[
([[1, 2], [3, 4]], interface.NumpyInterface),
(np.zeros((3, 4)), interface.NumpyInterface),
2024-05-09 05:06:41 +00:00
("hdf5_array", interface.H5Interface),
2024-04-09 01:36:47 +00:00
(da.random.random((10, 10)), interface.DaskInterface),
2024-04-30 02:49:38 +00:00
(zarr.ones((10, 10)), interface.ZarrInterface),
2024-05-09 05:06:41 +00:00
("zarr_nested_array", interface.ZarrInterface),
("zarr_array", interface.ZarrInterface),
2024-04-30 02:49:38 +00:00
],
ids=[
"numpy_list",
"numpy",
"H5ArrayPath",
"dask",
"zarr_memory",
"zarr_nested",
"zarr_array",
2024-04-09 01:36:47 +00:00
],
)
def interface_type(request):
"""
Test cases for each interface's ``check`` method - each input should match the
provided interface and that interface only
"""
2024-05-09 05:06:41 +00:00
if isinstance(request.param[0], str):
return (request.getfixturevalue(request.param[0]), request.param[1])
else:
return request.param