@Test
public final void testReadAll01() throws IOException {
/**
* colA colB colC rowA 0.0 0.1 0.2 rowB 1.0 1.1 1.2
*/
// A string that contains a table (tab delimited)
final String tableString = "rowIDs\tcolA\tcolB\tcolC" + UtilIO.NEW_LINE_STRING
+ "rowA\t0.0\t0.1\t0.2" + UtilIO.NEW_LINE_STRING + "rowB\t1.0\t1.1\t1.2";
// A Reader to read the table
final StringReader stringReader = new StringReader(tableString);
// A TableReader to parse the file
// First argument is the Reader (File or Stream would also work)
// Second argument is if column headers are present
// Third argument is if row headers are present
// Forth argument is column-delimiter (in this case tab)
final ReaderTableDouble tableReader = new ReaderTableDouble(stringReader, true, true, "\t");
// Read the table at once
final TableDouble table = tableReader.readTableAtOnce();
// Close the reader
tableReader.close();
// table does have row headers
assertEquals(2, table.getRowIdentifier().size());
// table does have column headers
assertEquals(3, table.getColumnIdentifier().size());
assertArrayEquals(new Double[] { 0.0, 1.0 }, table.getColumn("colA").toArray());
assertArrayEquals(new Double[] { 0.1, 1.1 }, table.getColumn("colB").toArray());
assertArrayEquals(new Double[] { 0.2, 1.2 }, table.getColumn("colC").toArray());
assertArrayEquals(new Double[] { 0.0, 0.1, 0.2 }, table.getRow("rowA").toArray());
assertArrayEquals(new Double[] { 1.0, 1.1, 1.2 }, table.getRow("rowB").toArray());
}