code: def test_spence_boundary(self):
      self.assertAllClose(
          np.pi**2 / 6.0, special_math_ops.spence(0.0)
      )
      self.assertAllClose(0.0, special_math_ops.spence(1.0))
      self.assertTrue(
          np.isnan(self.evaluate(special_math_ops.spence(np.nan)))
      )
      # Check that the domain of definition is [0, inf)
      self.assertTrue(
          np.all(
              np.isnan(
                  self.evaluate(
                      special_math_ops.spence(
                          np.random.uniform(-20.0, -1.0, size=int(1e3))
                      )
                  )
              )
          )
      )
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.framework.weak_tensor import WeakTensor
  from tensorflow.python.ops import gradient_checker_v2
  from tensorflow.python.ops import special_math_ops
  from tensorflow.python.ops import weak_tensor_ops
  from tensorflow.python.ops import weak_tensor_test_util
  from tensorflow.python.platform import test
  from tensorflow.python.platform import tf_logging
label_desc: Use image node_id 1 for calling the SpenceTest obj's underlying member method code with example usage: obj.test_spence_boundary() without return types