import unittest
from olc.bean.olc_control_request import OlcControlRequest
class TestOlcControlRequest(unittest.TestCase):
def test_initialization(self):
"""测试OlcControlRequest的初始化"""
request1 = OlcControlRequest()
self.assertEqual(request1.tags, {})
self.assertEqual(request1.token_number, 0)
tags = {"service": "service1", "interface": "interface1"}
request2 = OlcControlRequest(tags=tags, token_number=5)
self.assertEqual(request2.tags, tags)
self.assertEqual(request2.token_number, 5)
def test_equality(self):
"""测试相等性比较"""
tags = {"service": "service1", "interface": "interface1"}
request1 = OlcControlRequest(tags=tags, token_number=5)
request2 = OlcControlRequest(tags=tags, token_number=5)
request3 = OlcControlRequest(tags=tags, token_number=10)
request4 = OlcControlRequest(tags={"service": "service2"}, token_number=5)
self.assertEqual(request1, request2)
self.assertEqual(request1, request3)
self.assertNotEqual(request1, request4)
self.assertNotEqual(request1, "not a request")
def test_hash(self):
"""测试哈希方法"""
tags = {"service": "service1", "interface": "interface1"}
request1 = OlcControlRequest(tags=tags, token_number=5)
request2 = OlcControlRequest(
tags=tags, token_number=10
)
self.assertEqual(hash(request1), hash(request2))
def test_repr_method(self):
"""测试__repr__方法"""
tags = {"service": "service1"}
request = OlcControlRequest(tags=tags, token_number=5)
repr_str = repr(request)
self.assertIn("OlcControlRequest", repr_str)
self.assertIn("service1", repr_str)
self.assertIn("5", repr_str)
def test_str_method(self):
"""测试__str__方法"""
tags = {"service": "service1"}
request = OlcControlRequest(tags=tags, token_number=5)
str_str = str(request)
self.assertIn("OlcControlRequest", str_str)
self.assertIn("service1", str_str)
self.assertIn("5", str_str)
if __name__ == "__main__":
unittest.main()