Test that assignments with dask arrays preserve lazy evaluation.
()
| 434 | |
| 435 | @requires_dask |
| 436 | def test_eval_dask_assignment() -> None: |
| 437 | """Test that assignments with dask arrays preserve lazy evaluation.""" |
| 438 | from xarray.core.utils import is_duck_dask_array |
| 439 | |
| 440 | ds = Dataset( |
| 441 | {"a": ("x", np.arange(10.0)), "b": ("x", np.linspace(0, 1, 10))} |
| 442 | ).chunk({"x": 5}) |
| 443 | |
| 444 | with raise_if_dask_computes(): |
| 445 | result = ds.eval("z = a + b") |
| 446 | |
| 447 | assert isinstance(result, Dataset) |
| 448 | assert "z" in result.data_vars |
| 449 | assert is_duck_dask_array(result["z"].data) |
| 450 | |
| 451 | # Verify correctness when computed |
| 452 | expected = ds["a"] + ds["b"] |
| 453 | assert_equal(result["z"], expected) |
| 454 | |
| 455 | |
| 456 | @requires_dask |
nothing calls this directly
no test coverage detected
searching dependent graphs…