diff --git a/tests/test_manager_llm_delegation.py b/tests/test_manager_llm_delegation.py index 23fb15620..ff0e6a47f 100644 --- a/tests/test_manager_llm_delegation.py +++ b/tests/test_manager_llm_delegation.py @@ -12,42 +12,45 @@ class InternalAgentTool(BaseAgentTool): return "Test response" -def test_agent_tool_role_matching(): - assert True - # test_cases = [ - # ("Futel Official Infopoint", True), # exact match - # (' "Futel Official Infopoint" ', True), # extra quotes and spaces - # ("Futel Official Infopoint\n", True), # trailing newline - # ('"Futel Official Infopoint"', True), # embedded quotes - # (" FUTEL\nOFFICIAL INFOPOINT ", True), # multiple whitespace and newline - # ("futel official infopoint", True), # lowercase - # ("FUTEL OFFICIAL INFOPOINT", True), # uppercase - # ("Non Existent Agent", False), # non-existent agent - # (None, False), # None agent name - # ] +# new comment +@pytest.mark.parametrize( + "role_name,should_match", + [ + # ("Futel Official Infopoint", True), # exact match + # (' "Futel Official Infopoint" ', True), # extra quotes and spaces + # ("Futel Official Infopoint\n", True), # trailing newline + # ('"Futel Official Infopoint"', True), # embedded quotes + # (" FUTEL\nOFFICIAL INFOPOINT ", True), # multiple whitespace and newline + # ("futel official infopoint", True), # lowercase + # ("FUTEL OFFICIAL INFOPOINT", True), # uppercase + ("Non Existent Agent", False), # non-existent agent + # (None, False), # None agent name + ], +) +def test_agent_tool_role_matching(role_name, should_match): + """Test that agent tools can match roles regardless of case, whitespace, and special characters.""" + # Create test agent + test_agent = Agent( + role="Futel Official Infopoint", + goal="Answer questions about Futel", + backstory="Futel Football Club info", + allow_delegation=False, + ) - # for role_name, should_match in test_cases: - # # Setup your test agent and agent tool - # test_agent = Agent( - # role="Futel Official Infopoint", - # goal="Answer questions about Futel", - # backstory="Futel Football Club info", - # allow_delegation=False, - # ) - # agent_tool = InternalAgentTool( - # name="test_tool", description="Test tool", agents=[test_agent] - # ) + # Create test agent tool + agent_tool = InternalAgentTool( + name="test_tool", description="Test tool", agents=[test_agent] + ) - # # Execute the test using _execute - # result = agent_tool._execute( - # agent_name=role_name, task="Test task", context=None - # ) + # Test role matching + result = agent_tool._execute(agent_name=role_name, task="Test task", context=None) + print("TEST RESULT: ", result) - # if should_match: - # assert ( - # "coworker mentioned not found" not in result.lower() - # ), f"Should find agent with role name: {role_name}" - # else: - # assert ( - # "coworker mentioned not found" in result.lower() - # ), f"Should not find agent with role name: {role_name}" + if should_match: + assert ( + "coworker mentioned not found" not in result.lower() + ), f"Should find agent with role name: {role_name}" + else: + assert ( + "coworker mentioned not found" in result.lower() + ), f"Should not find agent with role name: {role_name}"