25 lines
1013 B
Python
25 lines
1013 B
Python
import uuid
|
|
from agentmsgs.core.types import Agent, Thread, Message
|
|
import datetime
|
|
|
|
def test_agent_identity_on_id_not_name():
|
|
a1 = Agent(id=uuid.uuid4(), name="Alice")
|
|
a2 = Agent(id=uuid.uuid4(), name="Alice")
|
|
assert a1 != a2 # different id => not equal even though name same
|
|
assert hash(a1) != hash(a2)
|
|
|
|
def test_agent_hash_on_id():
|
|
uid = uuid.uuid4()
|
|
a1 = Agent(id=uid, name="Alice")
|
|
a2 = Agent(id=uid, name="Bob") # same id, different name => equal per design (id is identity)
|
|
assert a1 == a2
|
|
assert hash(a1) == hash(a2)
|
|
|
|
def test_thread_multiple_with_same_participants_allowed():
|
|
a = Agent(id=uuid.uuid4(), name="A")
|
|
b = Agent(id=uuid.uuid4(), name="B")
|
|
t1 = Thread(id=uuid.uuid4(), participants=frozenset({a,b}), created_at=datetime.datetime.now(datetime.timezone.utc))
|
|
t2 = Thread(id=uuid.uuid4(), participants=frozenset({a,b}), created_at=datetime.datetime.now(datetime.timezone.utc))
|
|
assert t1 != t2
|
|
assert t1.participants == t2.participants
|