code: def test_builder_to_backend_smoke_scalar_and_tensor(
      self, compute_unit, backend
  ):
      cond_val = np.array([[1], [0], [2]], dtype=np.float32)
      a_val = np.float32(1.0)
      b_val = np.array(
          [[3, 2, 2], [2, 4, 2], [5, 6, 2]], dtype=np.float32
      )
      input_placeholders = {
          "cond": mb.placeholder(shape=cond_val.shape),
          "b": mb.placeholder(shape=b_val.shape),
      }
      input_values = {"cond": cond_val, "b": b_val}
  
      def build(cond, b):
          if not types.is_bool(cond.dtype):
              cond = mb.cast(x=cond, dtype="bool")
          return [mb.select(cond=cond, a=a_val, b=b)]
  
      expected_output_types = [(3, 3, types.fp32)]
      expected_outputs = [
          np.array(
              [[1.0, 1.0, 1.0], [2.0, 4.0, 2.0], [1.0, 1.0, 1.0]],
              dtype=np.float32,
          )
      ]
  
      run_compare_builder(
          build,
          input_placeholders,
          input_values,
          expected_output_types,
          expected_outputs,
          compute_unit=compute_unit,
          backend=backend,
      )
  
imports: import itertools
  import numpy
  import pytest
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import get_new_symbol, types
  from coremltools.converters.mil.mil.ops.tests.iOS14 import backends
  from coremltools.converters.mil.mil.ops.tests.testing_utils import UNK_SYM, construct_inputs_from_placeholders, run_compare_builder
  from coremltools.converters.mil.testing_reqs import compute_units
  from coremltools.converters.mil.testing_utils import random_gen, ssa_fn
label_desc: Use image node_id 3 for calling the TestSelect obj's underlying member method code with example usage: obj.test_builder_to_backend_smoke_scalar_and_tensor(compute_unit, backend) and returns: list