1
|
|
|
<?php declare(strict_types=1); |
2
|
|
|
|
3
|
|
|
namespace SmrTest\lib\DefaultGame; |
4
|
|
|
|
5
|
|
|
use AbstractSmrPlayer; |
6
|
|
|
use SmrTest\BaseIntegrationSpec; |
7
|
|
|
|
8
|
|
|
/** |
9
|
|
|
* Class AbstractSmrPlayerTest |
10
|
|
|
* @covers AbstractSmrPlayer |
11
|
|
|
*/ |
12
|
|
|
class AbstractSmrPlayerIntegrationTest extends BaseIntegrationSpec { |
13
|
|
|
|
14
|
|
|
public function test_createPlayer() : void { |
15
|
|
|
// Test arbitrary input |
16
|
|
|
$accountID = 2; |
17
|
|
|
$gameID = 42; |
18
|
|
|
$name = 'test'; |
19
|
|
|
$raceID = RACE_HUMAN; |
20
|
|
|
$isNewbie = true; |
21
|
|
|
$isNpc = false; |
22
|
|
|
|
23
|
|
|
$player = AbstractSmrPlayer::createPlayer($accountID, $gameID, $name, $raceID, $isNewbie, $isNpc); |
24
|
|
|
|
25
|
|
|
$this->assertSame($player->getAccountID(), $accountID); |
26
|
|
|
$this->assertSame($player->getGameID(), $gameID); |
27
|
|
|
$this->assertSame($player->getPlayerName(), $name); |
28
|
|
|
$this->assertSame($player->getRaceID(), $raceID); |
29
|
|
|
$this->assertSame($player->hasNewbieStatus(), $isNewbie); |
30
|
|
|
$this->assertSame($player->isNPC(), $isNpc); |
31
|
|
|
$this->assertSame($player->getSectorID(), 1); |
32
|
|
|
$this->assertSame($player->getPlayerID(), 1); |
33
|
|
|
} |
34
|
|
|
|
35
|
|
|
public function test_createPlayer_duplicate_name() : void { |
36
|
|
|
$this->expectException(\Smr\UserException::class); |
37
|
|
|
$this->expectExceptionMessage('That player name already exists.'); |
38
|
|
|
$name = 'test'; |
39
|
|
|
AbstractSmrPlayer::createPlayer(1, 1, $name, RACE_HUMAN, false); |
40
|
|
|
AbstractSmrPlayer::createPlayer(2, 1, $name, RACE_HUMAN, false); |
41
|
|
|
} |
42
|
|
|
|
43
|
|
|
public function test_createPlayer_increment_playerid() : void { |
44
|
|
|
AbstractSmrPlayer::createPlayer(1, 1, 'test1', RACE_HUMAN, false); |
45
|
|
|
$player = AbstractSmrPlayer::createPlayer(2, 1, 'test2', RACE_HUMAN, false); |
46
|
|
|
$this->assertSame($player->getPlayerID(), 2); |
47
|
|
|
} |
48
|
|
|
|
49
|
|
|
} |
50
|
|
|
|