code: def testInvalidDistribution(self):
      with self.assertRaisesOpError("(low >= high||low >= peak)"):
          tri = triangular.Triangular(
              low=2.0, high=1.0, peak=0.5, validate_args=True
          )
          self.evaluate(tri.mean())
      with self.assertRaisesOpError("low > peak"):
          tri = triangular.Triangular(
              low=0.0, high=1.0, peak=-1.0, validate_args=True
          )
          self.evaluate(tri.mean())
      with self.assertRaisesOpError("peak > high"):
          tri = triangular.Triangular(
              low=0.0, high=1.0, peak=2.0, validate_args=True
          )
          self.evaluate(tri.mean())
  
imports: import numpy
  from scipy import stats
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import triangular
  from tensorflow_probability.python.distributions.internal import statistical_testing
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 7 for calling the _TriangularTest obj's underlying member method code with example usage: obj.testInvalidDistribution() without return types