def METHOD_NAME(par):
    """Dot-test and inverse for Patch3D operator"""
    Op = MatrixMult(
        np.ones(
            (
                par["nwiny"] * par["nwinx"] * par["nwint"],
                par["ny"] * par["nx"] * par["nt"],
            )
        )
    )
    nwins, dims, mwin_inends, dwin_inends = patch3d_design(
        (par["npy"], par["npx"], par["npt"]),
        (par["nwiny"], par["nwinx"], par["nwint"]),
        (par["novery"], par["noverx"], par["novert"]),
        (par["ny"], par["nx"], par["nt"]),
    )
    Pop = Patch3D(
        Op,
        dims=dims,  # (
        #    par["ny"] * par["winsy"],
        #    par["nx"] * par["winsx"],
        #    par["nt"] * par["winst"],
        # ),
        dimsd=(par["npy"], par["npx"], par["npt"]),
        nwin=(par["nwiny"], par["nwinx"], par["nwint"]),
        nover=(par["novery"], par["noverx"], par["novert"]),
        nop=(par["ny"], par["nx"], par["nt"]),
        tapertype=par["tapertype"],
    )
    assert dottest(
        Pop,
        par["npy"] * par["npx"] * par["npt"],
        par["ny"] * par["nx"] * par["nt"] * nwins[0] * nwins[1] * nwins[2],
    )
    x = np.ones((par["ny"] * nwins[0], par["nx"] * nwins[1], par["nt"] * nwins[2]))
    y = Pop * x.ravel()
    xinv = Pop / y
    assert_array_almost_equal(x.ravel(), xinv)