/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath */ public function testUpdateRowWithMissingFields($filePath) { TestHelper::createCsv($filePath); $csv = new Csv($filePath); $csv->setIdField("rowNum"); $row = $csv->get(3); $newFirstName = "Updated-" . $row["firstName"]; $row["firstName"] = $newFirstName; $existingLastName = $row["lastName"]; unset($row["lastName"]); $updated = $csv->update($row); $this->assertTrue($updated); $row = $csv->get(3); $this->assertEquals($newFirstName, $row["firstName"]); $this->assertEquals($existingLastName, $row["lastName"]); }
/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath */ public function testUnicodeData($filePath) { $csv = new Csv($filePath); $data = [["EnglishWord" => "American", "ChineseWord" => "美国人"], ["EnglishWord" => "French", "ChineseWord" => "法国人"], ["EnglishWord" => "German", "ChineseWord" => "德国人"]]; foreach ($data as $d) { $csv->add($d); } $this->assertEquals($data[1], $csv->get(1)); }
/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath */ public function testDeleteByReferenceRemovesExpectedRow($filePath) { TestHelper::createCsv($filePath, 10); $csv = new Csv($filePath); $rowThree = $csv->get(3); $allRows = $csv->getAll(); $this->assertContains($rowThree, $allRows); $csv->delete($rowThree); $allRowsAfterDelete = $csv->getAll(); $this->assertNotContains($rowThree, $allRowsAfterDelete); $searchResult = $csv->getAllBy("firstName", $rowThree["firstName"]); $this->assertNotContains($rowThree, $searchResult); }
/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath */ public function testGetIncrements($filePath) { $originalRows = TestHelper::createCsv($filePath, 10); $headers = array_shift($originalRows); $csv = new Csv($filePath); $rowNumber = 0; while ($row = $csv->get()) { foreach ($row as $fieldName => $value) { $fieldIndex = array_search($fieldName, $headers); $this->assertEquals($originalRows[$rowNumber][$fieldIndex], $value); } $rowNumber++; } }
/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath * @expectedException \g105b\phpcsv\InvalidIndexException */ public function testGetNonIntegerIndex_negative($filePath) { TestHelper::createCsv($filePath, 10); $csv = new Csv($filePath); $csv->get(-5); }
/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath */ public function testAddingMissingFieldsIndexed($filePath) { $csv = new Csv($filePath); $csv->add(["firstName" => "Alan", "lastName" => "Statham", "Job Title" => "Consultant Radiologist"]); $csv->add([2 => "Surgical Registrar"]); $row = $csv->get(1); $this->assertArrayHasKey("firstName", $row); $this->assertArrayHasKey("lastName", $row); $this->assertArrayHasKey("Job Title", $row); $csv->add([0 => "Martin"]); $row = $csv->get(2); $this->assertArrayHasKey("firstName", $row); $this->assertArrayHasKey("lastName", $row); $this->assertArrayHasKey("Job Title", $row); }