code: def testReturnsExpectedStructure(self):
      def _return_product_generator(a, b):
          return a * b
          yield  # pylint: disable=unreachable
  
      a = {"y": 2.0, "x": 3.0, "z": 2.0}
      b = {"y": 10.0, "x": 0.1, "z": -4.0}
      _, rvals = _get_yielded_and_returned_values(
          nest_util.map_structure_coroutine(
              _return_product_generator, a, b
          )
      )
      self.assertAllCloseNested(
          rvals, tf.nest.map_structure(lambda a, b: a * b, a, b)
      )
  
imports: import collections
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import deterministic
  from tensorflow_probability.python.distributions import half_cauchy
  from tensorflow_probability.python.distributions import joint_distribution_auto_batched
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow.python.util import nest
label_desc: Use image node_id 2 for calling the MapStructureCoroutineTest obj's underlying member method code with example usage: obj.testReturnsExpectedStructure() and returns: unknown