code: def match_shape(self, actual, expected, msg=None):
      if msg:
          msg = "Shape match failed for: {}. Expected: {} Actual: {}".format(
              msg, expected.shape, actual.shape
          )
      self.assertEqual(actual.shape, expected.shape, msg=msg)
      if msg:
          msg = "Shape: {} is not a tuple for {}".format(
              actual.shape, msg
          )
      self.assertIsInstance(actual.shape, tuple, msg=msg)
  
file_path: trax/trax/tf_numpy/numpy_impl/tests/logic_test.py
imports: import numpy
  import tensorflow.compat.v2
  from trax.tf_numpy.numpy_impl import array_ops
  from trax.tf_numpy.numpy_impl import arrays
  from trax.tf_numpy.numpy_impl import math_ops
label_desc: Use image node_id 3 for calling the LogicTest obj's underlying member method code with example usage: obj.match_shape(actual, expected, msg) without return types