def METHOD_NAME(self):
    x = np.array([[-2., 0.], [-0.5, 1.5], [1., 3.], [8.5, 4.5],
                  [-3.5, 6.], [4., 7.5], [-5., 9.], [5.5, 10.5],
                  [10., 12.], [7., 13.5], [2.5, 15.]])
    y = np.array([[branin(case)] for case in x])
    surrogate_before = KrigingSurrogate(nugget=0., eval_rmse=True, training_cache='test_cache.npz')
    surrogate_before.train(x, y)
    surrogate = KrigingSurrogate(nugget=0., eval_rmse=True, training_cache='test_cache.npz')
    surrogate.train(x, y)
    for x0, y0 in zip(x, y):
        mu, sigma = surrogate.predict(x0)
        assert_near_equal(mu, [y0], 1e-9)
        assert_near_equal(sigma, [[0]], 1e-4)
    mu, sigma = surrogate.predict([5., 5.])
    assert_near_equal(mu, [[16.72]], 1e-1)
    assert_near_equal(sigma, [[15.27]], 1e-2)
    os.unlink('test_cache.npz')