code: def test_router_evaluate_condition_expressions_using_output_slot(
      self,
  ):
      routes = [
          {
              "condition": "{{streams|length > 2}}",
              "output": "{{streams}}",
              "output_name": "enough_streams",
              "output_type": List[int],
          },
          {
              "condition": "{{streams|length <= 2}}",
              "output": "{{streams}}",
              "output_name": "insufficient_streams",
              "output_type": List[int],
          },
      ]
      router = ConditionalRouter(routes)
      # enough_streams output slot will be selected with [1, 2, 3] list being outputted
      kwargs = {"streams": [1, 2, 3], "query": "Haystack"}
      result = router.run(**kwargs)
      assert result == {"enough_streams": [1, 2, 3]}
  
imports: import copy
  from typing import List
  from unittest import mock
  import pytest
  from haystack.components.routers import ConditionalRouter
  from haystack.components.routers.conditional_router import NoRouteSelectedException
  from haystack.dataclasses import ChatMessage
label_desc: Use image node_id 9 for calling the TestRouter obj's underlying member method code with example usage: obj.test_router_evaluate_condition_expressions_using_output_slot() without return types