code: def testCompileInputGraphRef(self):
      with dummy_artifact_list.given_output_type(DummyArtifact):
          x1 = dummy_artifact_list()
      with dummy_dict.given_output_type({"x": DummyArtifact}):
          x2 = dummy_dict()["x"]
      with dummy_dict_list.given_output_type({"x": DummyArtifact}):
          with for_each.ForEach(dummy_dict_list()) as each_dict:
              x3 = each_dict["x"]
              node = DummyNode(
                  "MyNode", inputs={"x1": x1, "x2": x2, "x3": x3}
              )
  
      result = self._compile_node_inputs(node)
  
      self.assertNotEmpty(result.inputs["x1"].input_graph_ref.graph_id)
      self.assertEmpty(result.inputs["x1"].input_graph_ref.key)
      self.assertNotEmpty(result.inputs["x2"].input_graph_ref.graph_id)
      self.assertEqual(result.inputs["x2"].input_graph_ref.key, "x")
      self.assertNotEmpty(result.inputs["x3"].input_graph_ref.graph_id)
      self.assertEqual(result.inputs["x3"].input_graph_ref.key, "x")
  
imports: from typing import List, Type
  from absl.testing import parameterized
  import tensorflow
  from tfx import types
  from tfx.dsl.compiler import compiler_context
  from tfx.dsl.compiler import node_inputs_compiler
  from tfx.dsl.components.base import base_component
  from tfx.dsl.components.base import base_node
  from tfx.dsl.components.base import executor_spec
  from tfx.dsl.control_flow import for_each
  from tfx.dsl.experimental.conditionals import conditional
  from tfx.dsl.experimental.node_execution_options import utils
  from tfx.dsl.input_resolution import resolver_function
  from tfx.dsl.input_resolution import resolver_op
  from tfx.dsl.placeholder import placeholder
  from tfx.orchestration import pipeline
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import channel
  from tfx.types import channel_utils
  from tfx.types import component_spec
  from tfx.types import standard_artifacts
  from google.protobuf import text_format
label_desc: Use image node_id 10 for calling the NodeInputsCompilerTest obj's underlying member method code with example usage: obj.testCompileInputGraphRef() without return types