numpydantic/tests/test_interface/conftest.py

39 lines
1 KiB
Python

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