code: def testEventShape(self):
      # Shape is always known for reshaping in eager mode, so we skip these tests.
      if tf.executing_eagerly():
          return
  
      event_shape_in, event_shape_out = self.build_shapes([2, 3], [6])
      bijector = reshape.Reshape(
          event_shape_out=event_shape_out,
          event_shape_in=event_shape_in,
          validate_args=True,
      )
  
      self.assertEqual(
          bijector.forward_event_shape(
              tf.TensorShape([4, 2, 3])
          ).as_list(),
          [4, None],
      )
      self.assertEqual(
          bijector.forward_event_shape(
              tf.TensorShape([None, 2, 3])
          ).as_list(),
          [None, None],
      )
      self.assertEqual(
          bijector.inverse_event_shape(
              tf.TensorShape([4, 6])
          ).as_list(),
          [4, None, None],
      )
      self.assertEqual(
          bijector.inverse_event_shape(
              tf.TensorShape([None, 6])
          ).as_list(),
          [None, None, None],
      )
      # If the input shape is totally unknown, there's nothing we can do!
      self.assertIsNone(
          bijector.forward_event_shape(tf.TensorShape(None)).ndims
      )
  
imports: import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector_test_util
  from tensorflow_probability.python.bijectors import chain
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.bijectors import reshape
  from tensorflow_probability.python.internal import hypothesis_testlib
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 3 for calling the ReshapeBijectorTestDynamic obj's underlying member method code with example usage: obj.testEventShape() without return types