code: def testForEach_DifferentLoop_HasDifferentContext(self):
      a = A()
      b = B()
      with for_each.ForEach(a.outputs["aa"]) as aa1:
          c1 = C(
              aa=aa1, bb=b.outputs["bb"]
          )  # pylint: disable=unused-variable
      with for_each.ForEach(a.outputs["aa"]) as aa2:
          c2 = C(
              aa=aa2, bb=b.outputs["bb"]
          )  # pylint: disable=unused-variable
  
      context1 = dsl_context_registry.get().get_contexts(c1)[-1]
      context2 = dsl_context_registry.get().get_contexts(c2)[-1]
      self.assertNotEqual(context1, context2)
  
imports: import unittest
  import tensorflow
  from tfx import types
  from tfx.dsl.components.base import base_node
  from tfx.dsl.context_managers import dsl_context_registry
  from tfx.dsl.control_flow import for_each
  from tfx.orchestration import pipeline
  from tfx.types import resolved_channel
  from tfx.utils import test_case_utils
label_desc: Use image node_id 6 for calling the ForEachTest obj's underlying member method code with example usage: obj.testForEach_DifferentLoop_HasDifferentContext() without return types