|
| 1 | +import inspect |
1 | 2 | import pathlib |
2 | 3 | import warnings |
| 4 | +from collections.abc import Callable |
3 | 5 | from typing import Literal |
4 | 6 |
|
5 | 7 | import numpy as np |
|
8 | 10 |
|
9 | 11 | import zarr |
10 | 12 | import zarr.api.asynchronous |
| 13 | +import zarr.api.synchronous |
11 | 14 | import zarr.core.group |
12 | 15 | from zarr import Array, Group |
13 | 16 | from zarr.abc.store import Store |
@@ -1121,3 +1124,25 @@ def test_open_array_with_mode_r_plus(store: Store) -> None: |
1121 | 1124 | assert isinstance(z2, Array) |
1122 | 1125 | assert (z2[:] == 1).all() |
1123 | 1126 | z2[:] = 3 |
| 1127 | + |
| 1128 | + |
| 1129 | +@pytest.mark.parametrize( |
| 1130 | + ("a_func", "b_func"), |
| 1131 | + [ |
| 1132 | + (zarr.api.asynchronous.create_array, zarr.api.synchronous.create_array), |
| 1133 | + (zarr.api.asynchronous.save, zarr.api.synchronous.save), |
| 1134 | + (zarr.api.asynchronous.save_array, zarr.api.synchronous.save_array), |
| 1135 | + (zarr.api.asynchronous.save_group, zarr.api.synchronous.save_group), |
| 1136 | + (zarr.api.asynchronous.open_group, zarr.api.synchronous.open_group), |
| 1137 | + (zarr.api.asynchronous.create, zarr.api.synchronous.create), |
| 1138 | + ], |
| 1139 | +) |
| 1140 | +def test_consistent_signatures( |
| 1141 | + a_func: Callable[[object], object], b_func: Callable[[object], object] |
| 1142 | +) -> None: |
| 1143 | + """ |
| 1144 | + Ensure that pairs of functions have the same signature |
| 1145 | + """ |
| 1146 | + base_sig = inspect.signature(a_func) |
| 1147 | + test_sig = inspect.signature(b_func) |
| 1148 | + assert test_sig.parameters == base_sig.parameters |
0 commit comments