Skip to content

Commit b9e8e06

Browse files
committed
refactor to parametrize indexing test
1 parent e19ab55 commit b9e8e06

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

xarray/tests/test_async.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -178,22 +178,26 @@ async def test_concurrent_load_multiple_objects(self, xr_obj) -> None:
178178
total_time=timer.total_time, latency=self.LATENCY, n_loads=N_OBJECTS
179179
)
180180

181-
async def test_indexing(self, memorystore) -> None:
181+
@pytest.mark.parametrize(
182+
"method,indexer",
183+
[
184+
("sel", {"x": 2}),
185+
("sel", {"x": [2, 3]}),
186+
(
187+
"isel",
188+
{
189+
"x": xr.DataArray([2, 3], dims="points"),
190+
"y": xr.DataArray([2, 3], dims="points"),
191+
},
192+
),
193+
],
194+
ids=["basic", "outer", "vectorized"],
195+
)
196+
async def test_indexing(self, memorystore, method, indexer) -> None:
182197
# TODO we don't need a LatencyStore for this test
183198
latencystore = LatencyStore(memorystore, latency=0.0)
184199
ds = xr.open_zarr(latencystore, zarr_format=3, consolidated=False, chunks=None)
185200

186-
# test basic indexing
187-
indexer = {"x": 2}
188-
result = await ds.sel(indexer).load_async()
189-
xrt.assert_identical(result, ds.sel(indexer).load())
190-
191-
# test orthogonal indexing
192-
indexer = {"x": [2, 3]}
193-
result = await ds.sel(indexer).load_async()
194-
xrt.assert_identical(result, ds.sel(indexer).load())
195-
196-
# test vectorized indexing
197-
indexer = {"x": xr.DataArray([2, 3], dims="points"), "y": xr.DataArray([2, 3], dims="points")}
198-
result = await ds.isel(indexer).load_async()
199-
xrt.assert_identical(result, ds.isel(indexer).load())
201+
result = await getattr(ds, method)(**indexer).load_async()
202+
expected = getattr(ds, method)(**indexer).load()
203+
xrt.assert_identical(result, expected)

0 commit comments

Comments
 (0)