File size: 2,258 Bytes
82f9be0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
"""
消息结构测试
"""
import sys
import os
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
import unittest
from datetime import datetime
from src.core import Message
class TestMessage(unittest.TestCase):
"""测试Message类"""
def test_message_creation(self):
"""测试消息创建"""
timestamp = datetime.now()
message = Message(
sender_id="sender-001",
receiver_id="receiver-001",
timestamp=timestamp,
content="Test message content"
)
self.assertEqual(message.sender_id, "sender-001")
self.assertEqual(message.receiver_id, "receiver-001")
self.assertEqual(message.timestamp, timestamp)
self.assertEqual(message.content, "Test message content")
def test_message_to_dict(self):
"""测试消息转换为字典"""
timestamp = datetime.now()
message = Message(
sender_id="sender-001",
receiver_id="receiver-001",
timestamp=timestamp,
content="Test message"
)
message_dict = message.to_dict()
self.assertEqual(message_dict['sender_id'], "sender-001")
self.assertEqual(message_dict['receiver_id'], "receiver-001")
self.assertEqual(message_dict['timestamp'], timestamp.isoformat())
self.assertEqual(message_dict['content'], "Test message")
def test_message_from_dict(self):
"""测试从字典创建消息"""
timestamp = datetime.now()
message_dict = {
'sender_id': 'sender-001',
'receiver_id': 'receiver-001',
'timestamp': timestamp.isoformat(),
'content': 'Test message'
}
message = Message.from_dict(message_dict)
self.assertEqual(message.sender_id, "sender-001")
self.assertEqual(message.receiver_id, "receiver-001")
self.assertEqual(message.content, "Test message")
# 比较datetime对象可能会有毫秒级差异,所以转换为字符串比较
self.assertEqual(message.timestamp.isoformat(), timestamp.isoformat())
if __name__ == "__main__":
unittest.main() |