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)