|
|
""" |
|
|
消息结构测试 |
|
|
""" |
|
|
|
|
|
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") |
|
|
|
|
|
self.assertEqual(message.timestamp.isoformat(), timestamp.isoformat()) |
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
unittest.main() |