|
|
@@ -0,0 +1,124 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace Tests\Unit\AppGame;
|
|
|
+
|
|
|
+use Tests\TestCase;
|
|
|
+use Uraus\Kku\Request\RequestMatchexchangeOpen;
|
|
|
+use Uraus\Kku\Response\ResponseMatchexchangeOpen;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 获取开放交易物品列表Handler测试
|
|
|
+ */
|
|
|
+class OpenHandlerTest extends TestCase
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * 测试RequestMatchexchangeOpen请求对象
|
|
|
+ */
|
|
|
+ public function testRequestMatchexchangeOpenStructure()
|
|
|
+ {
|
|
|
+ $request = new RequestMatchexchangeOpen();
|
|
|
+
|
|
|
+ // 测试设置时间戳
|
|
|
+ $timestamp = time();
|
|
|
+ $request->setTimes($timestamp);
|
|
|
+ $this->assertEquals($timestamp, $request->getTimes());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 测试RequestMatchexchangeOpen默认值
|
|
|
+ */
|
|
|
+ public function testRequestMatchexchangeOpenDefaultValues()
|
|
|
+ {
|
|
|
+ $request = new RequestMatchexchangeOpen();
|
|
|
+
|
|
|
+ // 测试默认值
|
|
|
+ $this->assertEquals(0, $request->getTimes());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 测试ResponseMatchexchangeOpen响应对象
|
|
|
+ */
|
|
|
+ public function testResponseMatchexchangeOpenStructure()
|
|
|
+ {
|
|
|
+ $response = new ResponseMatchexchangeOpen();
|
|
|
+
|
|
|
+ // 测试设置物品ID列表
|
|
|
+ $itemIds = [1001, 1002, 1003];
|
|
|
+ $response->setItemId($itemIds);
|
|
|
+
|
|
|
+ $responseItemIds = $response->getItemId();
|
|
|
+ $this->assertCount(3, $responseItemIds);
|
|
|
+
|
|
|
+ // 验证物品ID列表内容
|
|
|
+ $responseArray = iterator_to_array($responseItemIds);
|
|
|
+ $this->assertEquals($itemIds, $responseArray);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 测试ResponseMatchexchangeOpen空列表
|
|
|
+ */
|
|
|
+ public function testResponseMatchexchangeOpenEmptyList()
|
|
|
+ {
|
|
|
+ $response = new ResponseMatchexchangeOpen();
|
|
|
+
|
|
|
+ // 测试设置空列表
|
|
|
+ $response->setItemId([]);
|
|
|
+
|
|
|
+ $responseItemIds = $response->getItemId();
|
|
|
+ $this->assertCount(0, $responseItemIds);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 测试ResponseMatchexchangeOpen大量物品ID
|
|
|
+ */
|
|
|
+ public function testResponseMatchexchangeOpenLargeList()
|
|
|
+ {
|
|
|
+ $response = new ResponseMatchexchangeOpen();
|
|
|
+
|
|
|
+ // 生成大量物品ID
|
|
|
+ $itemIds = range(1001, 1100); // 100个物品ID
|
|
|
+ $response->setItemId($itemIds);
|
|
|
+
|
|
|
+ $responseItemIds = $response->getItemId();
|
|
|
+ $this->assertCount(100, $responseItemIds);
|
|
|
+
|
|
|
+ // 验证第一个和最后一个物品ID
|
|
|
+ $responseArray = iterator_to_array($responseItemIds);
|
|
|
+ $this->assertEquals(1001, $responseArray[0]);
|
|
|
+ $this->assertEquals(1100, $responseArray[99]);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 测试protobuf序列化和反序列化
|
|
|
+ */
|
|
|
+ public function testProtobufSerialization()
|
|
|
+ {
|
|
|
+ // 创建请求对象
|
|
|
+ $request = new RequestMatchexchangeOpen();
|
|
|
+ $request->setTimes(time());
|
|
|
+
|
|
|
+ // 序列化
|
|
|
+ $serialized = $request->serializeToString();
|
|
|
+ $this->assertNotEmpty($serialized);
|
|
|
+
|
|
|
+ // 反序列化
|
|
|
+ $newRequest = new RequestMatchexchangeOpen();
|
|
|
+ $newRequest->mergeFromString($serialized);
|
|
|
+ $this->assertEquals($request->getTimes(), $newRequest->getTimes());
|
|
|
+
|
|
|
+ // 创建响应对象
|
|
|
+ $response = new ResponseMatchexchangeOpen();
|
|
|
+ $itemIds = [1001, 1002, 1003];
|
|
|
+ $response->setItemId($itemIds);
|
|
|
+
|
|
|
+ // 序列化响应
|
|
|
+ $serializedResponse = $response->serializeToString();
|
|
|
+ $this->assertNotEmpty($serializedResponse);
|
|
|
+
|
|
|
+ // 反序列化响应
|
|
|
+ $newResponse = new ResponseMatchexchangeOpen();
|
|
|
+ $newResponse->mergeFromString($serializedResponse);
|
|
|
+ $responseArray = iterator_to_array($newResponse->getItemId());
|
|
|
+ $this->assertEquals($itemIds, $responseArray);
|
|
|
+ }
|
|
|
+}
|