code: def _VerifyTriangularSolve(
      self, a, b, lower, adjoint, atol, dtype=None
  ):
      clean_a = np.tril(a) if lower else np.triu(a)
      with self.session() as sess:
          placeholder_a = MakePlaceholder(a, dtype)
          placeholder_ca = MakePlaceholder(clean_a, dtype)
          placeholder_b = MakePlaceholder(b, dtype)
          with self.test_scope():
              x = linalg_ops.matrix_triangular_solve(
                  placeholder_a,
                  placeholder_b,
                  lower=lower,
                  adjoint=adjoint,
              )
          verification = test_util.matmul_without_tf32(
              placeholder_ca, x, adjoint_a=adjoint
          )
          self._VerifyTriangularSolveBase(
              sess,
              placeholder_a,
              placeholder_ca,
              placeholder_b,
              a,
              clean_a,
              b,
              verification,
              atol,
          )
  
imports: import itertools
  import numpy
  from tensorflow.compiler.tests import xla_test
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import linalg_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 3 for calling the MatrixTriangularSolveOpTest obj's underlying member method code with example usage: obj._VerifyTriangularSolve(a, b, lower, adjoint, atol, dtype) without return types