(self)
| 606 | |
| 607 | class TestMergeMethod: |
| 608 | def test_merge(self): |
| 609 | data = create_test_data() |
| 610 | ds1 = data[["var1"]] |
| 611 | ds2 = data[["var3"]] |
| 612 | expected = data[["var1", "var3"]] |
| 613 | actual = ds1.merge(ds2) |
| 614 | assert_identical(expected, actual) |
| 615 | |
| 616 | actual = ds2.merge(ds1) |
| 617 | assert_identical(expected, actual) |
| 618 | |
| 619 | actual = data.merge(data) |
| 620 | assert_identical(data, actual) |
| 621 | actual = data.reset_coords(drop=True).merge(data) |
| 622 | assert_identical(data, actual) |
| 623 | actual = data.merge(data.reset_coords(drop=True)) |
| 624 | assert_identical(data, actual) |
| 625 | |
| 626 | with pytest.raises(ValueError, match="conflicting values for variable"): |
| 627 | ds1.merge(ds2.rename({"var3": "var1"}), compat="no_conflicts") |
| 628 | with pytest.raises(ValueError, match=r"should be coordinates or not"): |
| 629 | data.reset_coords().merge(data) |
| 630 | with pytest.raises(ValueError, match=r"should be coordinates or not"): |
| 631 | data.merge(data.reset_coords()) |
| 632 | |
| 633 | @pytest.mark.parametrize( |
| 634 | "join", ["outer", "inner", "left", "right", "exact", "override"] |
nothing calls this directly
no test coverage detected