code: def test_task_with_parents() -> None:
      """Tests a plan with a task that has 2 direct parents."""
      parent_task1 = NoOpExecutionPlanTask()
      parent_task2 = NoOpExecutionPlanTask()
      leaf_task = NoOpExecutionPlanTask(
          parent_tasks=[parent_task1, parent_task2]
      )
      execution_plan = ExecutionPlan("plan0", leaf_tasks=[leaf_task])
      results = SequentialPlanExecutor().execute_plan(execution_plan)
  
      # Check that they all finished.
      parent_result1 = results.get_result(parent_task1.task_id)
      parent_result2 = results.get_result(parent_task2.task_id)
      leaf_result = results.get_result(leaf_task.task_id)
  
      # Check that parents completed before the leaf.
      assert parent_result1.end_time < leaf_result.end_time
      assert parent_result2.end_time < leaf_result.end_time
  
      assert not results.contains_task_errors
  
file_path: metricflow/metricflow/test/execution/test_sequential_executor.py
imports: from __future__ import annotations
  from metricflow.execution.execution_plan import ExecutionPlan
  from metricflow.execution.executor import SequentialPlanExecutor
  from metricflow.test.execution.noop_task import NoOpExecutionPlanTask
label_desc: Use image node_id 3 for calling a global function with example usage: test_task_with_parents() without return types