code: def testCall_WithStaticOutputType(self):
      @resolver_function.resolver_function(output_type={"x": X, "y": Y})
      def resolve(input_dict):
          return input_dict
  
      output = resolve({})
  
      self.assertTrue(
          typing_utils.is_compatible(
              output, Mapping[str, tfx.types.BaseChannel]
          )
      )
      self.assertEqual(output["x"].type, X)
      self.assertEqual(output["y"].type, Y)
  
imports: from typing import Mapping, Set
  import tensorflow
  from tfx.dsl.control_flow import for_each
  from tfx.dsl.control_flow import for_each_internal
  from tfx.dsl.input_resolution import resolver_function
  from tfx.dsl.input_resolution import resolver_op
  import tfx.types
  from tfx.types import resolved_channel
  from tfx.utils import typing_utils
label_desc: Use image node_id 3 for calling the ResolverFunctionTest obj's underlying member method code with example usage: obj.testCall_WithStaticOutputType() and returns: input_dict