code: def test_is_artifact_multimap(self):
      def yes(value: Any):
          self.assertTrue(typing_utils.is_artifact_multimap(value))
  
      def no(value: Any):
          self.assertFalse(typing_utils.is_artifact_multimap(value))
  
      yes({})
      yes({"model": []})
      yes({"model": [self._model()]})
      yes({"model": [self._model(), self._model()]})
      no({"model": [self._model(), "not an artifact"]})
      no({"model": self._model()})
      no({123: [self._model()]})
  
imports: import sys
  import typing
  from typing import Any, List, Literal, TypedDict
  import unittest
  import tensorflow
  import tfx.types
  from tfx.types import standard_artifacts
  from tfx.utils import typing_utils
  import typing_extensions
  import ml_metadata
label_desc: Use image node_id 3 for calling the TypingUtilsTest obj's underlying member method code with example usage: obj.test_is_artifact_multimap() without return types