1, 'col2' => 2, 'col3' => 3], ['col1' => 'aaa', 'col2' => 'bbb', 'col3' => 'ccc'], ]; $encoded = (new CsvFormatter())->encode($data); $lines = array_filter(explode(PHP_EOL, $encoded)); self::assertCount(3, $lines); self::assertEquals('col1,col2,col3', $lines[0]); } /** * TBD - If indexes are all numeric, what's the purpose * of displaying header */ public function testEncodeWithIndexColumns() { $data = [ [0 => 1, 1 => 2, 2 => 3], ]; $encoded = (new CsvFormatter())->encode($data); $lines = array_filter(explode(PHP_EOL, $encoded)); self::assertCount(2, $lines); self::assertEquals('0,1,2', $lines[0]); } public function testEncodeEmptyData() { $encoded = (new CsvFormatter())->encode([]); self::assertEquals('', $encoded); } }