public function testParsePgn() { $chess = new ChessPublicator(); $parsed = Chess::parsePgn('1.e4 e5 2.Nf3'); $this->assertContains('e4', $parsed['moves']); $this->assertContains('e5', $parsed['moves']); $this->assertContains('Nf3', $parsed['moves']); $parsed = Chess::parsePgn(<<<EOD [Event "Earl tourn"] [Site "?"] 1.e4 e5 2.Nf3 EOD ); $this->assertArraySubset(['Event' => 'Earl tourn'], $parsed['header']); $this->assertArraySubset(['Site' => '?'], $parsed['header']); $this->assertContains('e4', $parsed['moves']); $this->assertContains('e5', $parsed['moves']); $this->assertContains('Nf3', $parsed['moves']); }