code: def test_secant_invalid_value_tolerance(self):
      f = lambda x: (3 * x**2 - 1) / 2.0
  
      guess = tf.constant(-2, dtype=tf.float64)
      with self.assertRaisesOpError(
          "`value_tolerance` must be greater than 0."
      ):
          self.evaluate(
              root_search.find_root_secant(
                  f, guess, value_tolerance=-1e-8, validate_args=True
              )
          )
  
imports: import numpy
  import scipy.optimize
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import special_math
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import root_search
label_desc: Use image node_id 8 for calling the SecantRootSearchTest obj's underlying member method code with example usage: obj.test_secant_invalid_value_tolerance() without return types