code: def testArtifactTypeWithTypeAnnotation(self):
      my_artifact_with_annotation_1 = _MyArtifact4()
      self.assertEqual(
          my_artifact_with_annotation_1.artifact_type.base_type,
          metadata_store_pb2.ArtifactType.DATASET,
      )
  
      # _MyArtifact5/_MyArtifact6 classes are created from _ArtifactType method.
      my_artifact_with_annotation_2 = _MyArtifact5()
      self.assertEqual(
          my_artifact_with_annotation_2.artifact_type.base_type,
          metadata_store_pb2.ArtifactType.DATASET,
      )
  
      my_artifact_with_annotation_3 = _MyArtifact6()
      self.assertEqual(
          my_artifact_with_annotation_3.artifact_type.base_type,
          metadata_store_pb2.ArtifactType.DATASET,
      )
  
imports: import json
  import textwrap
  from unittest import mock
  from absl import logging
  import tensorflow
  from tfx.types import artifact
  from tfx.types import system_artifacts
  from tfx.types import value_artifact
  from tfx.utils import json_utils
  from google.protobuf import struct_pb2
  from google.protobuf import json_format
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 13 for calling the ArtifactTest obj's underlying member method code with example usage: obj.testArtifactTypeWithTypeAnnotation() without return types