code: def testCompileConditionals(self):
      cond_node = DummyNode("CondNode")
      with conditional.Cond(cond_node.output("x").future().value == 42):
          inner_node = DummyNode("InnerNode")
  
      result = self._compile_node_inputs(
          inner_node, components=[cond_node, inner_node]
      )
  
      self.assertLen(result.inputs, 1)
      cond_input_key = list(result.inputs)[0]
      self.assertFalse(result.inputs[cond_input_key].hidden)
      self.assertEqual(result.inputs[cond_input_key].min_count, 1)
      self.assertLen(result.conditionals, 1)
      cond = list(result.conditionals.values())[0]
      self.assertProtoEquals(
          """
        operator {
          compare_op {
            op: EQUAL
            rhs {
              value {
                int_value: 42
              }
            }
            lhs {
              operator {
                artifact_value_op {
                  expression {
                    operator {
                      index_op {
                        expression {
                          placeholder {
                            key: "%s"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      """
          % cond_input_key,
          cond.placeholder_expression,
      )
  
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 11 for calling the NodeInputsCompilerTest obj's underlying member method code with example usage: obj.testCompileConditionals() without return types