| 696 | assert_identical(actual, expected) |
| 697 | |
| 698 | def test_merge_join_outer(self): |
| 699 | ds1 = xr.Dataset({"a": ("x", [1, 2]), "x": [0, 1]}) |
| 700 | ds2 = xr.Dataset({"b": ("x", [3, 4]), "x": [1, 2]}) |
| 701 | expected = xr.Dataset( |
| 702 | {"a": ("x", [1, 2, np.nan]), "b": ("x", [np.nan, 3, 4])}, {"x": [0, 1, 2]} |
| 703 | ) |
| 704 | assert expected.identical(ds1.merge(ds2, join="outer")) |
| 705 | assert expected.identical(ds2.merge(ds1, join="outer")) |
| 706 | |
| 707 | expected = expected.isel(x=slice(2)) |
| 708 | assert expected.identical(ds1.merge(ds2, join="left")) |
| 709 | assert expected.identical(ds2.merge(ds1, join="right")) |
| 710 | |
| 711 | expected = expected.isel(x=slice(1, 2)) |
| 712 | assert expected.identical(ds1.merge(ds2, join="inner")) |
| 713 | assert expected.identical(ds2.merge(ds1, join="inner")) |
| 714 | |
| 715 | @pytest.mark.parametrize("fill_value", [dtypes.NA, 2, 2.0, {"a": 2, "b": 1}]) |
| 716 | def test_merge_fill_value(self, fill_value): |