def METHOD_NAME(self):
    mesh = discretize.TensorMesh([50])
    expmap = maps.ExpMap(nP=mesh.nC)
    idnmap = maps.IdentityMap(nP=mesh.nC)
    seeds = {
        "Ks": np.random.triangular(
            np.log(1e-7), np.log(1e-6), np.log(1e-5), mesh.nC
        ),
        "I": np.random.rand(mesh.nC),
        "n": np.random.rand(mesh.nC) + 1,
        "alpha": np.random.rand(mesh.nC),
    }
    opts = [
        ("Ks", dict(KsMap=expmap), 1),
        ("I", dict(IMap=idnmap), 1),
        ("n", dict(nMap=idnmap), 1),
        ("alpha", dict(alphaMap=idnmap), 1),
    ]
    u = np.random.randn(mesh.nC)
    for name, opt, _ in opts:
        van = richards.empirical.Vangenuchten_k(mesh, **opt)
        x0 = np.concatenate([seeds[n] for n in name.split("-")])
        def fun(m):
            van.model = m  # noqa: B023
            return van(u), van.derivM(u)  # noqa: B023
        print("Vangenuchten_k test m deriv:  ", name)
        passed = check_derivative(fun, x0, plotIt=False)
        self.assertTrue(passed, True)