/*========================================================================= Program: Visualization Toolkit Module: TestDelimitedTextReader.cxx Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ #include #include #include // This test mainly tests the capability of the DelimitedTextReader accepting // both a file and a text string as the input int TestDelimitedTextReader2(int argc, char *argv[]) { //------------ test the reader with an input file----------------- char* filename = vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/authors.csv"); vtkDelimitedTextReader *reader = vtkDelimitedTextReader::New(); reader->SetFileName(filename); reader->SetHaveHeaders(1); reader->SetDetectNumericColumns(1); reader->Update(); delete[] filename; vtkTable* table = reader->GetOutput(); table->Dump(); cout << "Printing reader info..." << endl; reader->Print(cout); if (table->GetNumberOfRows() != 6) { cout << "ERROR: Wrong number of rows: " << table->GetNumberOfRows()<GetNumberOfColumns() != 6) { cout << "ERROR: Wrong number of columns: " << table->GetNumberOfColumns()<Delete(); //------------ test the reader with an input string----------------- char inputString[] = ",awesomeness,fitness,region\r\nAbby,1,2,china\r\nBob,5,0.2,US\r\nCatie,3,0.3,UK\r\nDavid,2,100,UK\r\nGrace,4,20,US\r\nIlknur,6,5,Turkey\r\n"; vtkDelimitedTextReader *reader2 = vtkDelimitedTextReader::New(); reader2->SetHaveHeaders(1); reader2->SetReadFromInputString(1); reader2->SetInputString(inputString); reader2->SetDetectNumericColumns(1); reader2->Update(); vtkTable* table2 = reader2->GetOutput(); table2->Dump(); cout << "Printing reader2 info..." << endl; reader2->Print(cout); if (table2->GetNumberOfRows() != 6) { cout << "ERROR: Wrong number of rows: " << table2->GetNumberOfRows()<GetNumberOfColumns() != 4) { cout << "ERROR: Wrong number of columns: " << table2->GetNumberOfColumns()<Delete(); return 0; }