code: def testTriangularSample(self):
      low = self._dtype([-3.0] * 4)
      high = np.arange(7.0, 11.0, dtype=self._dtype)
      peak = np.array([0.0] * 4, dtype=self._dtype)
      tri = self._create_triangular_dist(low, high, peak)
      num_samples = int(3e6)
      samples = tri.sample(num_samples, seed=test_util.test_seed())
  
      detectable_discrepancies = self.evaluate(
          st.min_discrepancy_of_true_means_detectable_by_dkwm(
              num_samples,
              low,
              high,
              false_fail_rate=self._dtype(1e-6),
              false_pass_rate=self._dtype(1e-6),
          )
      )
      below_threshold = detectable_discrepancies <= 0.05
      self.assertTrue(np.all(below_threshold))
  
      self.evaluate(
          st.assert_true_mean_equal_by_dkwm(
              samples,
              low=low,
              high=high,
              expected=tri.mean(),
              false_fail_rate=self._dtype(1e-6),
          )
      )
  
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 20 for calling the _TriangularTest obj's underlying member method code with example usage: obj.testTriangularSample() without return types