code: def test_multiple_validity_windows(
      consistent_id_object_repository: ConsistentIdObjectRepository,
      scd_semantic_manifest_lookup: SemanticManifestLookup,
  ) -> None:
      """Tests the behavior of this converter when it encounters an instance set with multiple validity windows."""
      first_dataset = (
          consistent_id_object_repository.scd_model_data_sets[
              "listings"
          ]
      )
      second_dataset = (
          consistent_id_object_repository.scd_model_data_sets[
              "primary_accounts"
          ]
      )
      merged_instance_set = InstanceSet.merge(
          [first_dataset.instance_set, second_dataset.instance_set]
      )
      with pytest.raises(
          AssertionError,
          match="Found more than 1 set of validity window specs",
      ):
          CreateValidityWindowJoinDescription(
              semantic_model_lookup=scd_semantic_manifest_lookup.semantic_model_lookup
          ).transform(merged_instance_set)
  
file_path: metricflow/metricflow/test/plan_conversion/instance_converters/test_create_validity_window_join_description.py
imports: from __future__ import annotations
  import pytest
  from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity
  from metricflow.dataflow.dataflow_plan import ValidityWindowJoinDescription
  from metricflow.instances import InstanceSet
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
  from metricflow.plan_conversion.instance_converters import CreateValidityWindowJoinDescription
  from metricflow.specs.specs import TimeDimensionSpec
  from metricflow.test.fixtures.model_fixtures import ConsistentIdObjectRepository
label_desc: Use image node_id 3 for calling a global function with example usage: test_multiple_validity_windows(consistent_id_object_repository, scd_semantic_manifest_lookup) without return types