code: def test_broadcast_tensors_shapes(self):
      args = [
          tf.ones([1, 2], dtype=tf.float64),
          tf.constant([[True], [False]]),
          tf.zeros([1], dtype=tf.float32),
      ]
  
      @tf.function(
          input_signature=[
              tf.TensorSpec([1, None], dtype=tf.float64),
              tf.TensorSpec([2, 1], dtype=tf.bool),
              tf.TensorSpec(None, dtype=tf.float32),
          ]
      )
      def fn(x, y, z):
          return tff.utils.broadcast_tensors(x, y, z)
  
      x, y, z = self.evaluate(fn(*args))
  
      with self.subTest("Arg1Dtype"):
          self.assertAllEqual(x.dtype, tf.float64)
      with self.subTest("Arg1Value"):
          self.assertAllEqual(x, [[1, 1], [1, 1]])
      with self.subTest("Arg2Dtype"):
          self.assertAllEqual(y.dtype, tf.bool)
      with self.subTest("Arg2Value"):
          self.assertAllEqual(y, [[True, True], [False, False]])
      with self.subTest("Arg3Dtype"):
          self.assertAllEqual(z.dtype, tf.float32)
      with self.subTest("Arg3Value"):
          self.assertAllEqual(z, [[0, 0], [0, 0]])
  
file_path: tf-quant-finance/tf_quant_finance/utils/shape_utils_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  import tf_quant_finance
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 3 for calling the ShapeUtilsTest obj's underlying member method code with example usage: obj.test_broadcast_tensors_shapes() and returns: tff