setGodId(BUFF_TYPE::HARVEST_GOD->value); $this->assertEquals(BUFF_TYPE::HARVEST_GOD->value, $request->getGodId()); // 测试设置物品ID $request->setItemId(1001); $this->assertEquals(1001, $request->getItemId()); } /** * 测试RequestGodOpen默认值 */ public function testRequestGodOpenDefaultValues() { $request = new RequestGodOpen(); // 测试默认值 $this->assertEquals(0, $request->getGodId()); $this->assertEquals(0, $request->getItemId()); } /** * 测试不同神像类型的请求 */ public function testDifferentGodTypes() { $godTypes = [ BUFF_TYPE::HARVEST_GOD->value, BUFF_TYPE::RAIN_GOD->value, BUFF_TYPE::WEED_KILLER_GOD->value, BUFF_TYPE::PEST_CLEANER_GOD->value ]; foreach ($godTypes as $godType) { $request = new RequestGodOpen(); $request->setGodId($godType); $request->setItemId(1000 + $godType); // 假设物品ID为1001-1004 $this->assertEquals($godType, $request->getGodId()); $this->assertEquals(1000 + $godType, $request->getItemId()); } } /** * 测试物品ID验证逻辑 */ public function testItemIdValidation() { $request = new RequestGodOpen(); // 测试有效的物品ID $validItemIds = [1, 100, 1000, 9999]; foreach ($validItemIds as $itemId) { $request->setItemId($itemId); $this->assertEquals($itemId, $request->getItemId()); $this->assertTrue($request->getItemId() > 0); } // 测试无效的物品ID(0或负数) $invalidItemIds = [0, -1, -100]; foreach ($invalidItemIds as $itemId) { $request->setItemId($itemId); $this->assertEquals($itemId, $request->getItemId()); $this->assertFalse($request->getItemId() > 0); } } /** * 测试请求数据的完整性 */ public function testRequestDataIntegrity() { $request = new RequestGodOpen(); // 设置完整的请求数据 $godId = BUFF_TYPE::HARVEST_GOD->value; $itemId = 1001; $request->setGodId($godId); $request->setItemId($itemId); // 验证数据完整性 $this->assertEquals($godId, $request->getGodId()); $this->assertEquals($itemId, $request->getItemId()); // 验证这是一个完整的神像开启请求 $this->assertTrue($request->getGodId() > 0); $this->assertTrue($request->getItemId() > 0); } /** * 测试边界值 */ public function testBoundaryValues() { $request = new RequestGodOpen(); // 测试最大值(假设使用int64) $maxValue = PHP_INT_MAX; $request->setGodId($maxValue); $request->setItemId($maxValue); $this->assertEquals($maxValue, $request->getGodId()); $this->assertEquals($maxValue, $request->getItemId()); // 测试最小值 $minValue = 0; $request->setGodId($minValue); $request->setItemId($minValue); $this->assertEquals($minValue, $request->getGodId()); $this->assertEquals($minValue, $request->getItemId()); } }