diff --git a/Algorithm/Maze/MazeGenerator.php b/Algorithm/Maze/MazeGenerator.php index 40f02f7db..af8a1bc36 100644 --- a/Algorithm/Maze/MazeGenerator.php +++ b/Algorithm/Maze/MazeGenerator.php @@ -143,18 +143,21 @@ class MazeGenerator * * @param array $maze Maze to render * - * @return void + * @return string * * @since 1.0.0 */ - public static function render(array $maze) : void + public static function render(array $maze) : string { + $rendered = ''; foreach ($maze as $y => $row) { foreach ($row as $x => $column) { - echo $column; + $rendered .= $column; } - echo "\n"; + $rendered .= "\n"; } + + return $rendered; } } diff --git a/tests/Algorithm/Maze/MazeGeneratorTest.php b/tests/Algorithm/Maze/MazeGeneratorTest.php index 776f31f56..5bf5e3093 100644 --- a/tests/Algorithm/Maze/MazeGeneratorTest.php +++ b/tests/Algorithm/Maze/MazeGeneratorTest.php @@ -66,11 +66,7 @@ class MazeGeneratorTest extends \PHPUnit\Framework\TestCase */ public function testMazeRender() : void { - \ob_start(); - MazeGenerator::render(MazeGenerator::random(10, 7)); - $ob = \ob_get_clean(); - \ob_clean(); - + $ob = MazeGenerator::render(MazeGenerator::random(10, 7)); $maze = \explode("\n", $ob); // correct top