from swarms import OpenAIChat from swarms.structs.agent import Agent from swarms.structs.message_pool import MessagePool def test_message_pool_initialization(): agent1 = Agent(llm=OpenAIChat(), agent_name="agent1") agent2 = Agent(llm=OpenAIChat(), agent_name="agent1") moderator = Agent(llm=OpenAIChat(), agent_name="agent1") agents = [agent1, agent2] message_pool = MessagePool(agents=agents, moderator=moderator, turns=5) assert message_pool.agent == agents assert message_pool.moderator == moderator assert message_pool.turns == 5 assert message_pool.messages == [] def test_message_pool_add(): agent1 = Agent(llm=OpenAIChat(), agent_name="agent1") message_pool = MessagePool(agents=[agent1], moderator=agent1, turns=5) message_pool.add(agent=agent1, content="Hello, world!", turn=1) assert message_pool.messages == [ { "agent": agent1, "content": "Hello, world!", "turn": 1, "visible_to": "all", "logged": True, } ] def test_message_pool_reset(): agent1 = Agent(llm=OpenAIChat(), agent_name="agent1") message_pool = MessagePool(agents=[agent1], moderator=agent1, turns=5) message_pool.add(agent=agent1, content="Hello, world!", turn=1) message_pool.reset() assert message_pool.messages == [] def test_message_pool_last_turn(): agent1 = Agent(llm=OpenAIChat(), agent_name="agent1") message_pool = MessagePool(agents=[agent1], moderator=agent1, turns=5) message_pool.add(agent=agent1, content="Hello, world!", turn=1) assert message_pool.last_turn() == 1 def test_message_pool_last_message(): agent1 = Agent(llm=OpenAIChat(), agent_name="agent1") message_pool = MessagePool(agents=[agent1], moderator=agent1, turns=5) message_pool.add(agent=agent1, content="Hello, world!", turn=1) assert message_pool.last_message == { "agent": agent1, "content": "Hello, world!", "turn": 1, "visible_to": "all", "logged": True, } def test_message_pool_get_all_messages(): agent1 = Agent(llm=OpenAIChat(), agent_name="agent1") message_pool = MessagePool(agents=[agent1], moderator=agent1, turns=5) message_pool.add(agent=agent1, content="Hello, world!", turn=1) assert message_pool.get_all_messages() == [ { "agent": agent1, "content": "Hello, world!", "turn": 1, "visible_to": "all", "logged": True, } ] def test_message_pool_get_visible_messages(): agent1 = Agent(llm=OpenAIChat(), agent_name="agent1") agent2 = Agent(agent_name="agent2") message_pool = MessagePool( agents=[agent1, agent2], moderator=agent1, turns=5 ) message_pool.add( agent=agent1, content="Hello, agent2!", turn=1, visible_to=[agent2.agent_name], ) assert message_pool.get_visible_messages(agent=agent2, turn=2) == [ { "agent": agent1, "content": "Hello, agent2!", "turn": 1, "visible_to": [agent2.agent_name], "logged": True, } ]