/** * Returns symbol of winner in case we have a winner * @return null|string */ public function getWinner() { $winner = null; $tableHelper = new TableHelper($this->table); $result = []; foreach ([0, 1, 2] as $row) { $result[] = $tableHelper->getRow($row); $result[] = $tableHelper->getColumn($row); } $result[] = $tableHelper->getCross(); $result[] = $tableHelper->getCross(true); foreach ($result as $case) { if ($case[0] !== null && count(array_unique($case)) == 1) { $winner = $case[0]; return $winner; } } return $winner; }
/** * Test if we are able to get correct column * @dataProvider getTestGetColumnData() * @param array $table * @param int $column * @param array $expected */ public function testGetColumn($table, $column, $expected) { $utility = new TableHelper($table); $this->assertEquals($utility->getColumn($column), $expected); }