class_docstr: Mixin test for Matern type kernels.
  
  Subclasses must specify _kernel_type and _numpy_kernel.
code: def testValidateArgs(self):
      with self.assertRaisesOpError("amplitude must be positive"):
          k = self._kernel_type(
              amplitude=-1.0, length_scale=1.0, validate_args=True
          )
          self.evaluate(k.apply([[1.0]], [[1.0]]))
  
      if not tf.executing_eagerly():
          with self.assertRaisesOpError(
              "length_scale must be positive"
          ):
              k = self._kernel_type(
                  amplitude=1.0, length_scale=-1.0, validate_args=True
              )
              self.evaluate(k.apply([[1.0]], [[1.0]]))
  
      # But `None`'s are ok
      k = self._kernel_type(
          amplitude=None, length_scale=None, validate_args=True
      )
      self.evaluate(k.apply([1.0], [1.0]))
  
imports: from absl.testing import parameterized
  import numpy
  import scipy.special
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.math.psd_kernels import matern
label_desc: Use image node_id 4 for calling the _MaternTestCase obj's underlying member method code with example usage: obj.testValidateArgs() without return types