| 583 | |
| 584 | @pytest.mark.parametrize("n", [0, 1, 2]) |
| 585 | def test_diff_append(n): |
| 586 | x = np.arange(5) + 1 |
| 587 | a = da.from_array(x, chunks=2) |
| 588 | assert_eq(da.diff(a, n, append=0), np.diff(x, n, append=0)) |
| 589 | assert_eq(da.diff(a, n, append=[0]), np.diff(x, n, append=[0])) |
| 590 | assert_eq(da.diff(a, n, append=[-1, 0]), np.diff(x, n, append=[-1, 0])) |
| 591 | |
| 592 | x = np.arange(16).reshape(4, 4) |
| 593 | a = da.from_array(x, chunks=2) |
| 594 | assert_eq(da.diff(a, n, axis=1, append=0), np.diff(x, n, axis=1, append=0)) |
| 595 | assert_eq( |
| 596 | da.diff(a, n, axis=1, append=[[0], [0], [0], [0]]), |
| 597 | np.diff(x, n, axis=1, append=[[0], [0], [0], [0]]), |
| 598 | ) |
| 599 | assert_eq(da.diff(a, n, axis=0, append=0), np.diff(x, n, axis=0, append=0)) |
| 600 | assert_eq( |
| 601 | da.diff(a, n, axis=0, append=[[0, 0, 0, 0]]), |
| 602 | np.diff(x, n, axis=0, append=[[0, 0, 0, 0]]), |
| 603 | ) |
| 604 | |
| 605 | if n > 0: |
| 606 | with pytest.raises(ValueError): |
| 607 | # When order is 0 the result is the input array, it doesn't raise |
| 608 | # an error |
| 609 | da.diff(a, n, append=np.zeros((3, 3))) |
| 610 | |
| 611 | |
| 612 | def test_diff_negative_order(): |