code: def testStaticInputs_NotHomogeneous(self):
      a = self.put_artifact("A")
      b = self.put_artifact("B")
  
      node_inputs = NodeInputs(
          inputs={
              "x": InputSpec(
                  static_inputs=Static(artifact_ids=[a.id, b.id])
              ),
          }
      )
      with self.assertRaises(exceptions.FailedPreconditionError):
          node_inputs_resolver.resolve(self.mlmd_cm, node_inputs)
  
imports: from typing import Set
  from unittest import mock
  import tensorflow
  from tfx.orchestration.portable.input_resolution import exceptions
  from tfx.orchestration.portable.input_resolution import input_graph_resolver
  from tfx.orchestration.portable.input_resolution import node_inputs_resolver
  from tfx.orchestration.portable.input_resolution import partition_utils
  from tfx.orchestration.portable.input_resolution import channel_resolver
  from tfx.proto.orchestration import pipeline_pb2
  import tfx.types
  from tfx.types import channel_utils
  from tfx.utils import test_case_utils
  from google.protobuf import text_format
label_desc: Use image node_id 5 for calling the LiveTest obj's underlying member method code with example usage: obj.testStaticInputs_NotHomogeneous() without return types