code: def testResolverDefinition(self):
      channel_to_resolve = types.Channel(
          type=standard_artifacts.Examples
      )
      rnode = resolver.Resolver(
          strategy_class=latest_artifact_strategy.LatestArtifactStrategy,
          config={"desired_num_of_artifacts": 5},
          channel_to_resolve=channel_to_resolve,
      )
      self.assertDictEqual(
          rnode.exec_properties,
          {
              resolver.RESOLVER_STRATEGY_CLASS: latest_artifact_strategy.LatestArtifactStrategy,
              resolver.RESOLVER_CONFIG: {"desired_num_of_artifacts": 5},
          },
      )
      self.assertEqual(
          rnode.outputs["channel_to_resolve"].type_name,
          channel_to_resolve.type_name,
      )
  
imports: import tensorflow
  from tfx import types
  from tfx.dsl.components.common import resolver
  from tfx.dsl.input_resolution import canned_resolver_functions
  from tfx.dsl.input_resolution.strategies import latest_artifact_strategy
  from tfx.orchestration import data_types
  from tfx.orchestration import metadata
  from tfx.types import channel
  from tfx.types import standard_artifacts
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 1 for calling the ResolverTest obj's underlying member method code with example usage: obj.testResolverDefinition() without return types