adhot-discussion / tests /unit /test_messagepool.py
xa6's picture
Upload folder using huggingface_hub
4bdab37
import unittest
from unittest import TestCase
from chatarena.message import Message, MessagePool
class TestMessagePool(TestCase):
def test_message_fully_observable(self):
message_pool = MessagePool()
p1_message = Message("player1", "I'm player 1", 1)
p2_message = Message("player2", "I'm player 2", 1)
message_pool.append_message(p1_message)
message_pool.append_message(p2_message)
p1_observation = message_pool.get_visible_messages("player1", 2)
assert p1_observation[0].msg_hash == p1_message.msg_hash
assert p1_observation[1].msg_hash == p2_message.msg_hash
def test_message_by_turn(self):
message_pool = MessagePool()
p1_message = Message("player1", "I'm player 1", 1)
p2_message = Message("player2", "I'm player 2", 2)
message_pool.append_message(p1_message)
message_pool.append_message(p2_message)
p1_observation = message_pool.get_visible_messages("player1", 2)
assert p1_observation[0].msg_hash == p1_message.msg_hash
assert len(p1_observation) == 1
def test_message_partial_observation(self):
message_pool = MessagePool()
p1_message = Message("player1", "I'm player 1", 1)
p2_message = Message("player2", "I'm player 2", 1, visible_to=["player2"])
message_pool.append_message(p1_message)
message_pool.append_message(p2_message)
p1_observation = message_pool.get_visible_messages("player1", 2)
p2_observation = message_pool.get_visible_messages("player2", 2)
assert len(p1_observation) == 1
assert len(p2_observation) == 2
if __name__ == "__main__":
unittest.main()