73 lines
2.2 KiB
PHP
73 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace Blackbirdchess\Tests\Service\Import\Readers;
|
|
|
|
use Blackbirdchess\Service\Import\IOFactory;
|
|
use Blackbirdchess\Service\Import\Readers\Swar5;
|
|
use Blackbirdchess\Service\Results\Enums\Title;
|
|
use Blackbirdchess\Service\Results\Player;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class Swar5Test extends TestCase
|
|
{
|
|
private string $testfile = '/res/Swar5-testfile.swar';
|
|
private Swar5 $testobject;
|
|
|
|
public function setUp(): void
|
|
{
|
|
$root = NULL;
|
|
$directory = dirname(__FILE__);
|
|
do {
|
|
$directory = dirname($directory);
|
|
$composer = $directory . '/composer.json';
|
|
if(file_exists($composer)) $root = $directory;
|
|
} while(is_null($root) && $directory != '/');
|
|
|
|
$this->testfile = $directory . $this->testfile;
|
|
$this->testobject = IOFactory::createReader('Swar-5');
|
|
$this->testobject->read($this->testfile);
|
|
}
|
|
|
|
public function testReadTournamentName(): void
|
|
{
|
|
$this->assertEquals('Blackbird Chess Unit Test Tournament', $this->testobject->Tournament->Name);
|
|
}
|
|
|
|
public function testReadTournamentOrganiser(): void
|
|
{
|
|
$this->assertEquals('Blackbird Chess Developers', $this->testobject->Tournament->Organiser);
|
|
}
|
|
|
|
public function testReadTournamentLocation(): void
|
|
{
|
|
$this->assertEquals('Waregem', $this->testobject->Tournament->OrganiserPlace);
|
|
}
|
|
|
|
public function testHas8Players(): void
|
|
{
|
|
$this->assertCount(8, $this->testobject->Tournament->Players);
|
|
}
|
|
|
|
public function testHas7Rounds(): void
|
|
{
|
|
$this->assertCount(7, $this->testobject->Tournament->Rounds);
|
|
}
|
|
|
|
public function testPlayerHas7Pairings(): void
|
|
{
|
|
$this->assertCount(7, $this->testobject->Tournament->Players[0]->Pairings);
|
|
}
|
|
|
|
public function testPlayerHasTitle(): void
|
|
{
|
|
$player = Player::PlayersByName('Player 1', $this->testobject->Tournament)[0];
|
|
$this->assertInstanceOf(Title::class, $player->Title);
|
|
}
|
|
|
|
public function testPlayerHasNoTitle(): void
|
|
{
|
|
$player = Player::PlayersByName('Player 3', $this->testobject->Tournament)[0];
|
|
$this->assertNull($player->Title);
|
|
}
|
|
}
|