def test_diff_no_eval_derivative():
    class My(Expr):
        def __new__(cls, x):
            return Expr.__new__(cls, x)

    x, y = symbols('x y')
    # My doesn't have its own _eval_derivative method
    assert My(x).diff(x).func is Derivative
    # it doesn't have y so it shouldn't need a method for this case
    assert My(x).diff(y) == 0
dataset/ETHPy150Open sympy/sympy/sympy/core/tests/test_diff.py/test_diff_no_eval_derivative/original