def METHOD_NAME(par):
    """Dot-test and inversion for Shift operator on 2d data with variable shift"""
    np.random.seed(0)
    shift = np.arange(par["nx"])
    # 1st axis
    x = (
        gaussian(np.arange(par["nt"] // 2 + 1), 2.0)[0]
        + par["imag"] * gaussian(np.arange(par["nt"] // 2 + 1), 2.0)[0]
    )
    x = np.outer(x, np.ones(par["nx"]))
    Sop = Shift(
        (par["nt"], par["nx"]),
        shift,
        axis=0,
        real=True if par["imag"] == 0 else False,
        dtype=par["dtype"],
    )
    assert dottest(
        Sop,
        par["nt"] * par["nx"],
        par["nt"] * par["nx"],
        complexflag=0 if par["imag"] == 0 else 3,
    )
    xlsqr = lsqr(Sop, Sop * x.ravel(), damp=1e-20, iter_lim=200, atol=1e-8, btol=1e-8, show=0)[0]
    assert_array_almost_equal(x.ravel(), xlsqr, decimal=1)
    # 2nd axis
    x = (
        gaussian(np.arange(par["nt"] // 2 + 1), 2.0)[0]
        + par["imag"] * gaussian(np.arange(par["nt"] // 2 + 1), 2.0)[0]
    )
    x = np.outer(x, np.ones(par["nx"])).T
    Sop = Shift(
        (par["nx"], par["nt"]),
        shift,
        axis=1,
        real=True if par["imag"] == 0 else False,
        dtype=par["dtype"],
    )
    assert dottest(
        Sop,
        par["nt"] * par["nx"],
        par["nt"] * par["nx"],
        complexflag=0 if par["imag"] == 0 else 3,
    )
    xlsqr = lsqr(Sop, Sop * x.ravel(), damp=1e-20, iter_lim=200, atol=1e-8, btol=1e-8, show=0)[0]
    assert_array_almost_equal(x.ravel(), xlsqr, decimal=1)