Swarms / tests /structs /test_company.py
harshalmore31's picture
Synced repo using 'sync_with_huggingface' Github Action
d8d14f1 verified
import pytest
from swarm_models import OpenAIChat
from swarms.structs.agent import Agent
from swarms.structs.company import Company
# Mock OpenAIChat instance
llm = OpenAIChat(openai_api_key="test_key", max_tokens=4000)
# Mock Agents
ceo = Agent(llm=llm, name="CEO")
dev = Agent(llm=llm, name="Developer")
va = Agent(llm=llm, name="VA")
hr = Agent(llm=llm, name="HR")
shared_instructions = "Listen to your boss"
def test_add_agent():
company = Company(
org_chart=[[ceo, [dev, va]]],
shared_instructions=shared_instructions,
)
company.add(hr)
assert hr in company.agents
def test_get_agent():
company = Company(
org_chart=[[ceo, [dev, va]]],
shared_instructions=shared_instructions,
)
company.add(hr)
assert company.get("HR") == hr
def test_remove_agent():
company = Company(
org_chart=[[ceo, [dev, va]]],
shared_instructions=shared_instructions,
)
company.add(hr)
company.remove(hr)
assert hr not in company.agents
def test_add_existing_agent():
company = Company(
org_chart=[[ceo, [dev, va]]],
shared_instructions=shared_instructions,
)
company.add(hr)
with pytest.raises(ValueError):
company.add(hr)
def test_get_nonexistent_agent():
company = Company(
org_chart=[[ceo, [dev, va]]],
shared_instructions=shared_instructions,
)
with pytest.raises(ValueError):
company.get("Nonexistent")
def test_remove_nonexistent_agent():
company = Company(
org_chart=[[ceo, [dev, va]]],
shared_instructions=shared_instructions,
)
with pytest.raises(ValueError):
company.remove(hr)