code: def test_router_evaluate_condition_expressions(self, router):
      # first route should be selected
      kwargs = {"streams": [1, 2, 3], "query": "test"}
      result = router.run(**kwargs)
      assert result == {"streams": [1, 2, 3]}
  
      # second route should be selected
      kwargs = {"streams": [1], "query": "test"}
      result = router.run(**kwargs)
      assert result == {"query": "test"}
  
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 8 for calling the TestRouter obj's underlying member method code with example usage: obj.test_router_evaluate_condition_expressions(router) without return types