| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?php
- namespace Tests\Unit\AppGame;
- use App\Module\Farm\Enums\BUFF_TYPE;
- use Tests\TestCase;
- use Uraus\Kku\Request\RequestGodOpen;
- /**
- * 神像开启Handler测试
- */
- class GodOpenHandlerTest extends TestCase
- {
- /**
- * 测试RequestGodOpen包含物品ID
- */
- public function testRequestGodOpenWithItemId()
- {
- $request = new RequestGodOpen();
- // 测试设置神像ID
- $request->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());
- }
- }
|