code: def testContext_Ancestors(self):
      with _FakeContextManager() as c1:
          self.assertEqual(list(c1.ancestors), [])
          with _FakeContextManager() as c2:
              self.assertEqual(list(c2.ancestors), [c1])
              with _FakeContextManager() as c3:
                  self.assertEqual(list(c3.ancestors), [c1, c2])
          with _FakeContextManager() as c4:
              self.assertEqual(list(c4.ancestors), [c1])
  
imports: from typing import Dict, Any
  import tensorflow
  from tfx.dsl.components.base import base_node
  from tfx.dsl.context_managers import dsl_context
  from tfx.dsl.context_managers import dsl_context_manager
  from tfx.dsl.context_managers import dsl_context_registry
  from tfx.utils import test_case_utils
label_desc: Use image node_id 3 for calling the ContextManagerTest obj's underlying member method code with example usage: obj.testContext_Ancestors() without return types