/** * @param array $sudoku */ private function initBoxes(array $sudoku) { for ($i = 0; $i < 9; $i = $i + 3) { for ($j = 0; $j < 9; $j = $j + 3) { $extractedBox = $this->arrayHelper->extract($sudoku, $i, $j, 3, 3); $this->boxes[] = $this->boxFactory->build($extractedBox); } } }
/** * @return array */ public function getAs1dArray() { return $this->arrayHelper->convertTo1d($this->box); }
/** * @param array $extractedColumn * * @return SudokuColumn */ public function build(array $extractedColumn) { $this->dimensionValidator->validate($extractedColumn, 9, 1); $row = $this->arrayHelper->convertTo1d($extractedColumn); return new $this->class($row); }
public function testConvertColumnTo1d() { $expected = array(1, 2, 3); $converted = $this->helper->convertTo1d($this->getMatrix(3, 1)); $this->assertEquals($expected, $converted); }