code: def test_node_evaluator_with_unjoinable_specs(  # noqa: D
      consistent_id_object_repository: ConsistentIdObjectRepository,
      node_evaluator: NodeEvaluatorForLinkableInstances,
  ) -> None:
      bookings_source_node = (
          consistent_id_object_repository.simple_model_read_nodes[
              "bookings_source"
          ]
      )
      evaluation = node_evaluator.evaluate_node(
          required_linkable_specs=[
              DimensionSpec(
                  element_name="verification_type",
                  entity_links=(
                      EntityReference(element_name="verification"),
                  ),
              )
          ],
          start_node=bookings_source_node,
          default_join_type=SqlJoinType.LEFT_OUTER,
      )
      assert evaluation == LinkableInstanceSatisfiabilityEvaluation(
          local_linkable_specs=(),
          joinable_linkable_specs=(),
          join_recipes=(),
          unjoinable_linkable_specs=(
              DimensionSpec(
                  element_name="verification_type",
                  entity_links=(
                      EntityReference(element_name="verification"),
                  ),
              ),
          ),
      )
  
imports: from __future__ import annotations
  import logging
  from typing import Sequence
  import pytest
  from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity
  from metricflow.dataflow.builder.dataflow_plan_builder import DataflowPlanBuilder
  from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
  from metricflow.dataflow.builder.node_evaluator import JoinLinkableInstancesRecipe, LinkableInstanceSatisfiabilityEvaluation, NodeEvaluatorForLinkableInstances
  from metricflow.dataflow.builder.partitions import PartitionTimeDimensionJoinDescription
  from metricflow.dataflow.dataflow_plan import BaseOutput, ValidityWindowJoinDescription
  from metricflow.dataset.dataset import DataSet
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
  from metricflow.plan_conversion.column_resolver import DunderColumnAssociationResolver
  from metricflow.plan_conversion.node_processor import PreJoinNodeProcessor
  from metricflow.specs.specs import DimensionSpec, EntityReference, EntitySpec, LinkableInstanceSpec, LinklessEntitySpec, TimeDimensionSpec
  from metricflow.sql.sql_plan import SqlJoinType
  from metricflow.test.fixtures.model_fixtures import ConsistentIdObjectRepository
label_desc: Use image node_id 4 for calling a global function with example usage: test_node_evaluator_with_unjoinable_specs(consistent_id_object_repository, node_evaluator) without return types