()
| 693 | |
| 694 | |
| 695 | def test_keep_attrs() -> None: |
| 696 | def add(a, b, keep_attrs): |
| 697 | return apply_ufunc(operator.add, a, b, keep_attrs=keep_attrs) |
| 698 | |
| 699 | a = xr.DataArray([0, 1], [("x", [0, 1])]) |
| 700 | a.attrs["attr"] = "da" |
| 701 | a["x"].attrs["attr"] = "da_coord" |
| 702 | b = xr.DataArray([1, 2], [("x", [0, 1])]) |
| 703 | |
| 704 | actual = add(a, b, keep_attrs=False) |
| 705 | assert not actual.attrs |
| 706 | actual = add(a, b, keep_attrs=True) |
| 707 | assert_identical(actual.attrs, a.attrs) |
| 708 | assert_identical(actual["x"].attrs, a["x"].attrs) |
| 709 | |
| 710 | actual = add(a.variable, b.variable, keep_attrs=False) |
| 711 | assert not actual.attrs |
| 712 | actual = add(a.variable, b.variable, keep_attrs=True) |
| 713 | assert_identical(actual.attrs, a.attrs) |
| 714 | |
| 715 | ds_a = xr.Dataset({"x": [0, 1]}) |
| 716 | ds_a.attrs["attr"] = "ds" |
| 717 | ds_a.x.attrs["attr"] = "da" |
| 718 | ds_b = xr.Dataset({"x": [0, 1]}) |
| 719 | |
| 720 | actual = add(ds_a, ds_b, keep_attrs=False) |
| 721 | assert not actual.attrs |
| 722 | actual = add(ds_a, ds_b, keep_attrs=True) |
| 723 | assert_identical(actual.attrs, ds_a.attrs) |
| 724 | assert_identical(actual.x.attrs, ds_a.x.attrs) |
| 725 | |
| 726 | |
| 727 | @pytest.mark.parametrize( |
nothing calls this directly
no test coverage detected
searching dependent graphs…