function testWriteReadCsv() { $f = new File("/test/reader_writer/my_table_data.csv"); $w = $f->openWriter(); $w->writeln("ID;Title;Count"); CsvUtils::write($w, array(0, "La biblioteca", 16.5), ",", "\""); CsvUtils::write($w, array(1, "Il castello 'v', la torre 'r' e il cortile ...", 18.3), ",", "\""); $w->close(); $r = $f->openReader(); $this->assertFalse($r->isEndOfStream(), "Lo stream non è terminato!!"); $r->readLine(); $d1 = CsvUtils::read($r); $d2 = CsvUtils::read($r); $this->assertEquals(0, $d1[0], "Il valore letto non corrisponde!!"); $this->assertEquals("La biblioteca", $d1[1], "Il valore letto non corrisponde!!"); $this->assertEquals(16.5, $d1[2], "Il valore letto non corrisponde!!"); $this->assertEquals(1, $d2[0], "Il valore letto non corrisponde!!"); $this->assertEquals("Il castello 'v', la torre 'r' e il cortile ...", $d2[1], "Il valore letto non corrisponde!!"); $this->assertEquals(18.3, $d2[2], "Il valore letto non corrisponde!!"); $d3 = CsvUtils::read($r); $this->assertNull($d3, "Il valore letto non è null alla fine dello stream!!"); $this->assertTrue($r->isEndOfStream(), "Lo stream non è terminato!!"); $r->close(); }
function testReadCsv() { $f = new File("/test/csv_test/test_dati.csv"); $reader = $f->openReader(); $header = $reader->readLine(); //salto la prima riga $this->assertEquals("id;nome;cognome;descrizione", $header, "Le intestazioni del csv non corrispondono!!"); $values = CsvUtils::read($reader); $this->assertEquals("1", $values[0], "Il valore letto non corrisponde!!"); $this->assertEquals("marco", $values[1], "Il valore letto non corrisponde!!"); $this->assertEquals("bagnaresi", $values[2], "Il valore letto non corrisponde!!"); $this->assertEquals("programmatore, curioso", $values[3], "Il valore letto non corrisponde!!"); $values = CsvUtils::read($reader); $this->assertEquals("2", $values[0], "Il valore letto non corrisponde!!"); $this->assertEquals("federica", $values[1], "Il valore letto non corrisponde!!"); $this->assertEquals("amarisse", $values[2], "Il valore letto non corrisponde!!"); $this->assertEquals("segretaria, \"puccettosa\"", $values[3], "Il valore letto non corrisponde!!"); $values = CsvUtils::read($reader); $this->assertEquals("3", $values[0], "Il valore letto non corrisponde!!"); $this->assertEquals("stefano", $values[1], "Il valore letto non corrisponde!!"); $this->assertEquals("pelloni", $values[2], "Il valore letto non corrisponde!!"); $this->assertEquals("'cuoco' e responsabile grafica e web", $values[3], "Il valore letto non corrisponde!!"); }