Files
hsa/AlgoriAgent/tests/agent_test.py
CakeCN 4198ca63b1 init
2024-12-03 16:21:19 +08:00

84 lines
2.4 KiB
Python

# -*- coding: utf-8 -*-
"""
Unit tests for agent classes and functions
"""
import unittest
from agentscope.agents import AgentBase
class TestAgent(AgentBase):
"""An agent for test usage"""
def __init__(
self,
name: str,
sys_prompt: str = None,
**kwargs: dict,
) -> None:
super().__init__(
name=name,
sys_prompt=sys_prompt,
model_config_name=(
kwargs["model_config"] if "model_config" in kwargs else None
),
use_memory=(
kwargs["use_memory"] if "use_memory" in kwargs else None
),
memory_config=(
kwargs["memory_config"] if "memory_config" in kwargs else None
),
)
class TestAgentCopy(TestAgent):
"""A copy of testagent"""
class BasicAgentTest(unittest.TestCase):
"""Test cases for basic agents"""
def test_agent_init(self) -> None:
"""Test the init of agentbase sub-class."""
a1 = TestAgent(
"a",
"Hi",
use_memory=False, # type: ignore[arg-type]
attribute_1="hello world", # type: ignore[arg-type]
)
self.assertTupleEqual(
a1._init_settings["args"], # pylint: disable=W0212
(
"a",
"Hi",
),
)
self.assertDictEqual(
a1._init_settings["kwargs"], # pylint: disable=W0212
{"use_memory": False, "attribute_1": "hello world"},
)
a2 = TestAgent(
"b",
sys_prompt="Hello",
attribute_2="Bye", # type: ignore[arg-type]
)
self.assertTupleEqual(
a2._init_settings["args"], # pylint: disable=W0212
("b",),
)
self.assertDictEqual(
a2._init_settings["kwargs"], # pylint: disable=W0212
{"sys_prompt": "Hello", "attribute_2": "Bye"},
)
self.assertNotEqual(a1.agent_id, a2.agent_id)
self.assertTrue(a1.agent_id.startswith("TestAgent"))
self.assertTrue(a2.agent_id.startswith("TestAgent"))
a3 = TestAgentCopy("c")
self.assertTrue(a3.agent_id.startswith("TestAgentCopy"))
a4 = TestAgent(
"d",
)
a4._agent_id = "agent_id_for_d" # pylint: disable=W0212
self.assertEqual(a4.agent_id, "agent_id_for_d")