Skip to content

Commit

Permalink
Combine datetime64 and timedelta64 zarr tests; add cftime zarr test
Browse files Browse the repository at this point in the history
  • Loading branch information
spencerkclark committed Jan 1, 2024
1 parent 8ede271 commit eea3bb7
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions xarray/tests/test_backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
)
from xarray.backends.pydap_ import PydapDataStore
from xarray.backends.scipy_ import ScipyBackendEntrypoint
from xarray.coding.cftime_offsets import cftime_range
from xarray.coding.strings import check_vlen_dtype, create_vlen_dtype
from xarray.coding.variables import SerializationWarning
from xarray.conventions import encode_dataset_coordinates
Expand Down Expand Up @@ -2810,18 +2811,22 @@ def test_attributes(self, obj) -> None:
ds.to_zarr(store_target, **self.version_kwargs)

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

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

0 comments on commit eea3bb7

Please sign in to comment.