code: def test_build_metric_tasks(  # noqa: D
      request: FixtureRequest,
      data_warehouse_validation_model: PydanticSemanticManifest,
      sql_client: SqlClient,
      mf_test_session_state: MetricFlowTestSessionState,
  ) -> None:
      tasks = DataWarehouseTaskBuilder.gen_metric_tasks(
          manifest=data_warehouse_validation_model,
          sql_client=sql_client,
      )
      assert len(tasks) == 1
      (query_string, _params) = tasks[0].query_and_params_callable()
      assert_snapshot_text_equal(
          request=request,
          mf_test_session_state=mf_test_session_state,
          group_id="data_warehouse_validation_manifest",
          snapshot_id="query0",
          snapshot_text=query_string,
          snapshot_file_extension=".sql",
          incomparable_strings_replacement_function=make_schema_replacement_function(
              system_schema=mf_test_session_state.mf_system_schema,
              source_schema=mf_test_session_state.mf_source_schema,
          ),
          additional_sub_directories_for_snapshots=(
              sql_client.sql_engine_type.value,
          ),
      )
  
imports: from __future__ import annotations
  from copy import deepcopy
  from typing import Tuple
  import pytest
  from _pytest.fixtures import FixtureRequest
  from dbt_semantic_interfaces.implementations.elements.dimension import PydanticDimension
  from dbt_semantic_interfaces.implementations.elements.entity import PydanticEntity
  from dbt_semantic_interfaces.implementations.elements.measure import PydanticMeasure
  from dbt_semantic_interfaces.implementations.semantic_manifest import PydanticSemanticManifest
  from dbt_semantic_interfaces.protocols.dimension import DimensionType
  from dbt_semantic_interfaces.protocols.entity import EntityType
  from dbt_semantic_interfaces.test_utils import semantic_model_with_guaranteed_meta
  from dbt_semantic_interfaces.transformations.semantic_manifest_transformer import PydanticSemanticManifestTransformer
  from dbt_semantic_interfaces.type_enums.aggregation_type import AggregationType
  from metricflow.model.data_warehouse_model_validator import DataWarehouseModelValidator, DataWarehouseTaskBuilder, DataWarehouseValidationTask
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.sql.sql_bind_parameters import SqlBindParameters
  from metricflow.test.fixtures.setup_fixtures import MetricFlowTestSessionState
  from metricflow.test.snapshot_utils import assert_snapshot_text_equal, make_schema_replacement_function
label_desc: Use image node_id 11 for calling a global function with example usage: test_build_metric_tasks(request, data_warehouse_validation_model, sql_client, mf_test_session_state) without return types