code: def test_topological_sort2():
      dag = DAG(
          "dag",
          start_date=DEFAULT_DATE,
          default_args={"owner": "owner1"},
      )
  
      # C -> (A u B) -> D
      # C -> E
      # ordered: E | D, A | B, C
      with dag:
          op1 = EmptyOperator(task_id="A")
          op2 = EmptyOperator(task_id="B")
          op3 = EmptyOperator(task_id="C")
          op4 = EmptyOperator(task_id="D")
          op5 = EmptyOperator(task_id="E")
          op3 << [op1, op2]
          op4 >> [op1, op2]
          op5 >> op3
  
      topological_list = dag.task_group.topological_sort()
  
      set1 = [op4, op5]
      assert topological_list[0] in set1
      set1.remove(topological_list[0])
  
      set2 = [op1, op2]
      set2.extend(set1)
      assert topological_list[1] in set2
      set2.remove(topological_list[1])
  
      assert topological_list[2] in set2
      set2.remove(topological_list[2])
  
      assert topological_list[3] in set2
  
      assert topological_list[4] == op3
  
imports: from __future__ import annotations
  from datetime import timedelta
  import pendulum
  import pytest
  from airflow.decorators import dag, setup, task, task_group, teardown
  from airflow.exceptions import TaskAlreadyInTaskGroup
  from airflow.models.baseoperator import BaseOperator
  from airflow.models.dag import DAG
  from airflow.models.xcom_arg import XComArg
  from airflow.operators.bash import BashOperator
  from airflow.operators.empty import EmptyOperator
  from airflow.operators.python import PythonOperator
  from airflow.utils.dag_edges import dag_edges
  from airflow.utils.task_group import TaskGroup, task_group_to_dict
  from tests.models import DEFAULT_DATE
label_desc: Use image node_id 24 for calling a global function with example usage: test_topological_sort2() without return types