/** * @dataProvider providerReading */ public function testReading($options, $filename, $expected) { $this->reader = new CsvReader($options); $this->assertInstanceOf('CSanquer\\ColibriCsv\\CsvReader', $this->reader->open($filename)); $actual1 = array(); $i = 0; foreach ($this->reader as $key => $value) { $i++; $actual1[] = $value; } $actual2 = $this->reader->getRows(); $this->reader->reset(); $actual3 = array(); while ($row = $this->reader->getRow()) { $actual3[] = $row; } $this->assertEquals($expected, $actual1); $this->assertEquals($expected, $actual2); $this->assertEquals($expected, $actual3); $this->assertInstanceOf('CSanquer\\ColibriCsv\\CsvReader', $this->reader->close()); }
$watch->start('csv_generation'); $header = array('lastname', 'firstname', 'phone number', 'email', 'birthday', 'address', 'zipcode', 'city', 'points'); $csvWriter1->writeRow($header); for ($i = 0; $i < $maxLines; $i++) { $lastname = $faker->lastName; $firstname = $faker->firstName; $row = array($lastname, $firstname, $faker->phoneNumber, strtolower($firstname . '.' . $lastname) . '@' . $faker->domainName, $faker->dateTimeThisCentury->format('Y-m-d'), $faker->streetAddress, $faker->postcode, $faker->city, $faker->randomNumber()); $csvWriter1->writeRow($row); } $csvWriter1->close(); $eventGeneration = $watch->stop('csv_generation'); echo 'Converting the CSV' . "\n\n"; $file2 = $dir . '/bench_result' . $maxLines . '.csv'; $watch->start('csv_convert'); $csvReader = new CsvReader(array('delimiter' => ';', 'enclosure' => '"', 'encoding' => 'CP1252', 'eol' => "\r\n", 'escape' => "\\")); $csvReader->open($file1); $csvWriter2 = new CsvWriter(array('delimiter' => ',', 'enclosure' => '"', 'encoding' => 'UTF-8', 'eol' => "\n", 'escape' => "\\")); $csvWriter2->open($file2); foreach ($csvReader as $row) { $csvWriter2->writeRow($row); } $csvWriter2->close(); $csvReader->close(); $eventConverting = $watch->stop('csv_convert'); echo 'Results' . "\n"; echo 'CSV Generation' . "\n\n"; echo 'duration = ' . $eventGeneration->getDuration() . ' ms' . "\n"; echo 'memory usage = ' . $eventGeneration->getMemory() / (1024 * 1024) . ' Mb (' . $eventConverting->getMemory() . ' b)' . "\n\n"; echo 'CSV Parsing/Converting' . "\n\n"; echo 'duration = ' . $eventConverting->getDuration() . ' ms' . "\n"; echo 'memory usage = ' . $eventConverting->getMemory() / (1024 * 1024) . ' Mb (' . $eventConverting->getMemory() . ' b)' . "\n";