code: def testMainInputsShouldNotBeHidden(
      self, explicit_x, explicit_y, dynamic_z
  ):
      p = DummyNode("Producer")
      inputs = {
          "union": channel_utils.union(
              [
                  p.output("x", standard_artifacts.Integer),
                  p.output("y", standard_artifacts.Integer),
                  p.output("z", standard_artifacts.Integer),
              ]
          )
      }
      exec_properties = {}
      if explicit_x:
          inputs["x"] = p.output("x")
      if explicit_y:
          inputs["y"] = p.output("y")
      if dynamic_z:
          exec_properties["z"] = p.output("z").future().value
      c = DummyNode(
          "Consumer", inputs=inputs, exec_properties=exec_properties
      )
      pipe = self._prepare_pipeline([p, c])
      ctx = compiler_context.PipelineContext(pipe)
  
      result = pipeline_pb2.NodeInputs()
      node_inputs_compiler.compile_node_inputs(ctx, c, result)
      self.assertEqual(result.inputs["union"].hidden, False)
      if explicit_x:
          self.assertIn("x", result.inputs)
          self.assertEqual(result.inputs["x"].hidden, False)
      else:
          self.assertNotIn("x", result.inputs)
      if explicit_y:
          self.assertIn("y", result.inputs)
          self.assertEqual(result.inputs["y"].hidden, False)
      else:
          self.assertNotIn("y", result.inputs)
      self.assertEqual(
          result.inputs["_Producer.z"].hidden, not dynamic_z
      )
  
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 17 for calling the NodeInputsCompilerTest obj's underlying member method code with example usage: obj.testMainInputsShouldNotBeHidden(explicit_x, explicit_y, dynamic_z) without return types