code: def testContains(self):
      table = type_dispatch.TypeDispatchTable()
      table.add_target(make_shape_function_type(None, None, None))
      table.add_target(make_shape_function_type(None, 1))
      table.add_target(make_shape_function_type(1, 1))
      table.add_target(make_shape_function_type(None, 2, 1))
  
      self.assertIn(
          make_shape_function_type(None, None, None), table.targets
      )
      self.assertIn(make_shape_function_type(None, 1), table.targets)
      self.assertIn(make_shape_function_type(1, 1), table.targets)
      self.assertIn(make_shape_function_type(None, 2, 1), table.targets)
  
      self.assertNotIn(
          make_shape_function_type(None, None, 1), table.targets
      )
      self.assertNotIn(make_shape_function_type(1, None), table.targets)
      self.assertNotIn(make_shape_function_type(1, 2), table.targets)
      self.assertNotIn(
          make_shape_function_type(None, 2, None), table.targets
      )
  
imports: from typing import Optional
  from tensorflow.core.function.polymorphism import function_type
  from tensorflow.core.function.polymorphism import type_dispatch
  from tensorflow.python.platform import test
  from tensorflow.python.types import trace
label_desc: Use image node_id 5 for calling the TypeDispatchTableTest obj's underlying member method code with example usage: obj.testContains() without return types