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