Skip to content

Commit 4cff81c

Browse files
committed
Adding test of Zarr Array and Group
This requires zarr-developers/zarr-python#934
1 parent df7aadd commit 4cff81c

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

python/tests/test_zarr.py

+42
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,45 @@ def test_direct_store_access(store, array_type):
2727
# Notice, GDSStore always returns a cupy array
2828
assert type(b) is cupy.ndarray
2929
cupy.testing.assert_array_equal(a, b)
30+
31+
32+
def test_array(store):
33+
"""Test Zarr array"""
34+
35+
pytest.importorskip(
36+
"zarr.cupy",
37+
reason=(
38+
"To use Zarr arrays with GDS directly, Zarr needs CuPy support: "
39+
"<https://github.com/zarr-developers/zarr-python/pull/934>"
40+
),
41+
)
42+
43+
a = cupy.arange(100)
44+
z = zarr.array(
45+
a, chunks=10, compressor=None, store=store, meta_array=cupy.empty(())
46+
)
47+
assert a.shape == z.shape
48+
assert a.dtype == z.dtype
49+
assert isinstance(a, type(z[:]))
50+
cupy.testing.assert_array_equal(a, z[:])
51+
52+
53+
def test_group(store):
54+
"""Test Zarr group"""
55+
56+
pytest.importorskip(
57+
"zarr.cupy",
58+
reason=(
59+
"To use Zarr arrays with GDS directly, Zarr needs CuPy support: "
60+
"<https://github.com/zarr-developers/zarr-python/pull/934>"
61+
),
62+
)
63+
64+
g = zarr.open_group(store, meta_array=cupy.empty(()))
65+
g.ones("data", shape=(10, 11), dtype=int, compressor=None)
66+
a = g["data"]
67+
assert a.shape == (10, 11)
68+
assert a.dtype == int
69+
assert isinstance(a, zarr.Array)
70+
assert isinstance(a[:], cupy.ndarray)
71+
assert (a[:] == 1).all()

0 commit comments

Comments
 (0)