Skip to content

Commit 86b591b

Browse files
committed
Combine datetime64 and timedelta64 zarr tests; add cftime zarr test
1 parent 81256b3 commit 86b591b

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

xarray/tests/test_backends.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
)
4949
from xarray.backends.pydap_ import PydapDataStore
5050
from xarray.backends.scipy_ import ScipyBackendEntrypoint
51+
from xarray.coding.cftime_offsets import cftime_range
5152
from xarray.coding.strings import check_vlen_dtype, create_vlen_dtype
5253
from xarray.coding.variables import SerializationWarning
5354
from xarray.conventions import encode_dataset_coordinates
@@ -2810,18 +2811,22 @@ def test_attributes(self, obj) -> None:
28102811
ds.to_zarr(store_target, **self.version_kwargs)
28112812

28122813
@requires_dask
2813-
def test_chunked_datetime64(self) -> None:
2814-
# Copied from @malmans2's PR #8253
2815-
original = create_test_data().astype("datetime64[ns]").chunk(1)
2814+
@pytest.mark.parametrize("dtype", ["datetime64[ns]", "timedelta64[ns]"])
2815+
def test_chunked_datetime64_or_timedelta64(self, dtype) -> None:
2816+
# Generalized from test in @malmans2's PR #8253
2817+
original = create_test_data().astype(dtype).chunk(1)
28162818
with self.roundtrip(original, open_kwargs={"chunks": {}}) as actual:
28172819
for name, actual_var in actual.variables.items():
28182820
assert original[name].chunks == actual_var.chunks
28192821
assert original.chunks == actual.chunks
28202822

2823+
@requires_cftime
28212824
@requires_dask
2822-
def test_chunked_timedelta64(self) -> None:
2823-
# Based @malmans2's datetime64[ns] test in PR #8253
2824-
original = create_test_data().astype("timedelta64[ns]").chunk(1)
2825+
def test_chunked_cftime_datetime(self) -> None:
2826+
# Based on @malmans2's test in PR #8253
2827+
times = cftime_range("2000", freq="D", periods=3)
2828+
original = xr.Dataset(data_vars={"chunked_times": (["time"], times)})
2829+
original = original.chunk({"time": 1})
28252830
with self.roundtrip(original, open_kwargs={"chunks": {}}) as actual:
28262831
for name, actual_var in actual.variables.items():
28272832
assert original[name].chunks == actual_var.chunks

0 commit comments

Comments
 (0)