blackbirdchess-service-import/tests/Readers/Pairtwo6Test.php

77 lines
2.3 KiB
PHP
Raw Normal View History

2023-01-14 15:37:01 +01:00
<?php
namespace Blackbirdchess\Tests\Service\Import\Readers;
use Blackbirdchess\Service\Import\Readers\Pairtwo6;
2023-01-14 16:41:46 +01:00
use Blackbirdchess\Service\Results\Enums\Title;
use Blackbirdchess\Service\Results\Player;
2023-01-14 15:37:01 +01:00
use PHPUnit\Framework\TestCase;
class Pairtwo6Test extends TestCase
{
private string $testfile = '/res/Pairtwo6-testfile.sws';
private Pairtwo6 $testobject;
public function setUp(): void
{
2023-01-14 16:41:46 +01:00
$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 = $root . $this->testfile;
2023-01-14 15:37:01 +01:00
$this->testobject = new Pairtwo6();
$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);
}
2023-01-14 16:08:44 +01:00
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);
}
2023-01-21 16:46:14 +01:00
public function testReadTournamentArbiter(): void
{
$this->assertEquals("Jeroen De Meerleer", $this->testobject->Tournament->Arbiters[0]);
}
2023-01-14 15:37:01 +01:00
}