code: def test_input_follows_scheme(
      object_builder_naming_scheme: ObjectBuilderNamingScheme,
  ) -> None:  # noqa: D
      assert object_builder_naming_scheme.input_str_follows_scheme(
          "Dimension('listing__country', entity_path=['booking'])"
      )
      assert object_builder_naming_scheme.input_str_follows_scheme(
          "TimeDimension('listing__creation_time', time_granularity_name='month', date_part_name='day', "
          "entity_path=['booking'])"
      )
      assert object_builder_naming_scheme.input_str_follows_scheme(
          "Entity('user', entity_path=['booking', 'listing'])",
      )
      assert not object_builder_naming_scheme.input_str_follows_scheme(
          "listing__creation_time__extract_month"
      )
      assert not object_builder_naming_scheme.input_str_follows_scheme(
          "123"
      )
      assert not object_builder_naming_scheme.input_str_follows_scheme(
          "NotADimension('listing__country')"
      )
  
file_path: metricflow/metricflow/test/naming/test_object_builder_naming_scheme.py
imports: from __future__ import annotations
  from typing import Sequence
  import pytest
  from dbt_semantic_interfaces.references import EntityReference
  from dbt_semantic_interfaces.type_enums import TimeGranularity
  from dbt_semantic_interfaces.type_enums.date_part import DatePart
  from metricflow.naming.object_builder_scheme import ObjectBuilderNamingScheme
  from metricflow.specs.specs import DimensionSpec, EntitySpec, LinkableInstanceSpec, TimeDimensionSpec
  from metricflow.test.time.metric_time_dimension import MTD_SPEC_MONTH, MTD_SPEC_WEEK, MTD_SPEC_YEAR
label_desc: Use image node_id 3 for calling a global function with example usage: test_input_follows_scheme(object_builder_naming_scheme) without return types