code: def assertDictKeysEmpty(
      self,
      output_dict: Dict[str, List[types.Artifact]],
      policy: latest_policy_model_op.Policy,
  ):
      # Check that the corresponding Policy keys are in the output dictionary.
      self.assertIn("model", output_dict)
      if (
          policy == _LATEST_EVALUATOR_BLESSED
          or policy == _LATEST_BLESSED
      ):
          self.assertIn("model_blessing", output_dict)
      elif (
          policy == _LATEST_INFRA_VALIDATOR_BLESSED
          or policy == _LATEST_BLESSED
      ):
          self.assertIn("model_infra_blessing", output_dict)
      elif policy == _LATEST_PUSHED:
          self.assertIn("model", output_dict)
  
      # Check that all the artifact lists are empty.
      for artifacts in output_dict.values():
          self.assertEmpty(artifacts)
  
imports: from typing import Dict, List, Optional
  from absl.testing import parameterized
  import tensorflow
  from tfx import types
  from tfx.dsl.input_resolution import resolver_op
  from tfx.dsl.input_resolution.ops import latest_policy_model_op
  from tfx.dsl.input_resolution.ops import ops
  from tfx.dsl.input_resolution.ops import test_utils
  from tfx.orchestration.portable.input_resolution import exceptions
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 4 for calling the LatestPolicyModelOpTest obj's underlying member method code with example usage: obj.assertDictKeysEmpty(output_dict, policy) without return types