code: def test_build(
      self,
      feature_spec,
      preprocessing_fn,
      expected_dot_graph_str,
      expected_dot_graph_str_tf2,
      use_tf_compat_v1,
  ):
      if not use_tf_compat_v1:
          tft_unit.skip_if_not_tf2("Tensorflow 2.x required")
      specs = (
          feature_spec
          if use_tf_compat_v1
          else impl_helper.get_type_specs_from_feature_specs(
              feature_spec
          )
      )
      (
          graph,
          structured_inputs,
          structured_outputs,
      ) = impl_helper.trace_preprocessing_function(
          preprocessing_fn,
          specs,
          use_tf_compat_v1=use_tf_compat_v1,
          base_temp_dir=os.path.join(
              self.get_temp_dir(), self._testMethodName
          ),
      )
      (
          transform_fn_future,
          unused_cache,
          unused_sideeffects,
      ) = analysis_graph_builder.build(
          graph, structured_inputs, structured_outputs
      )
  
      dot_string = nodes.get_dot_graph(
          [transform_fn_future]
      ).to_string()
      self.WriteRenderedDotFile(dot_string)
      self.assertMultiLineEqual(
          msg="Result dot graph is:\n{}".format(dot_string),
          first=dot_string,
          second=(
              expected_dot_graph_str
              if use_tf_compat_v1
              else expected_dot_graph_str_tf2
          ),
      )
  
imports: import os
  import tensorflow
  import tensorflow_transform
  from tensorflow_transform import analyzer_nodes
  from tensorflow_transform import impl_helper
  from tensorflow_transform import nodes
  from tensorflow_transform import tf2_utils
  from tensorflow_transform.beam import analysis_graph_builder
  from tensorflow_transform.beam import analyzer_cache
  from tensorflow_transform.beam import tft_unit
  from tfx_bsl.types import tfx_namedtuple
label_desc: Use image node_id 1 for calling the AnalysisGraphBuilderTest obj's underlying member method code with example usage: obj.test_build(feature_spec, preprocessing_fn, expected_dot_graph_str, expected_dot_graph_str_tf2, use_tf_compat_v1) without return types