private function lose(Player $player) : bool { if ($player->equals(Player::X())) { return $this->win(Player::O()); } return $this->win(Player::X()); }
public function testExceptionWhenNoMovesLeft() { $O = Player::O(); $state = new GameState(); // OXX // XOO // XOX $state->fillField(2, 0); // X $state->fillField(0, 0); // O $state->fillField(0, 2); // X $state->fillField(1, 1); // O $state->fillField(0, 1); // X $state->fillField(2, 1); // O $state->fillField(2, 2); // X $state->fillField(1, 2); // O $state->fillField(1, 0); // X $engine = new Engine($O); $this->expectException(RuntimeException::class); $engine->decide($state); }