def METHOD_NAME(self):
    mol = gto.M(atom="H; H 1 1.", basis='631g', verbose=0)
    mf = dft.RKS(mol).set(xc='CAMB3LYP')
    mf._numint.libxc = dft.xcfun
    td = mf.apply(tdscf.TDA).set(nstates=nstates)
    tdg_scanner = td.nuc_grad_method().as_scanner().as_scanner()
    g = tdg_scanner(mol, state=3)[1]
    self.assertAlmostEqual(lib.fp(g), 0.60109310253094916, 6)
    smf = td.as_scanner()
    e1 = smf(mol.set_geom_("H; H 1 1.001"))[2]
    e2 = smf(mol.set_geom_("H; H 1 0.999"))[2]
    self.assertAlmostEqual((e1-e2)/0.002*lib.param.BOHR, g[1,0], 4)