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); } }