code: def testAssertsPositiveScaleAfterMutation(self):
      scale = tf.Variable([1.0, 2.0, 3.0])
      self.evaluate(scale.initializer)
      d = gp.GeneralizedPareto(
          loc=0, scale=scale, concentration=0.25, validate_args=True
      )
      self.evaluate(d.mean())
      with self.assertRaisesOpError(
          "Argument `scale` must be positive."
      ):
          with tf.control_dependencies(
              [scale.assign([1.0, 2.0, -3.0])]
          ):
              self.evaluate(d.sample(seed=test_util.test_seed()))
  
imports: import hypothesis
  import hypothesis.strategies
  import numpy
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import generalized_pareto
  from tensorflow_probability.python.internal import hypothesis_testlib
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 19 for calling the GeneralizedParetoTest obj's underlying member method code with example usage: obj.testAssertsPositiveScaleAfterMutation() without return types