public void testMaterializeTable() throws Exception {
File file = new File("src/test/resources/csv_people.csv");
CsvDataContext dc = new CsvDataContext(file, new CsvConfiguration(1, false, false));
Table table = dc.getSchemas()[0].getTables()[0];
DataSet dataSet = dc.materializeMainSchemaTable(table, table.getColumns(), -1);
assertNull(dataSet.getRow());
assertTrue(dataSet.next());
assertEquals("Row[values=[1, mike, male, 18]]", dataSet.getRow().toString());
assertTrue(dataSet.next());
assertEquals("Row[values=[2, michael, male, 19]]", dataSet.getRow().toString());
assertTrue(dataSet.next());
assertEquals("Row[values=[3, peter, male, 18]]", dataSet.getRow().toString());
assertTrue(dataSet.next());
assertTrue(dataSet.next());
assertEquals("Row[values=[5, barbara, barb, female, 18]]", dataSet.getRow().toString());
assertTrue(dataSet.next());
assertTrue(dataSet.next());
assertTrue(dataSet.next());
assertTrue(dataSet.next());
assertEquals("Row[values=[9, carrie, female, 17]]", dataSet.getRow().toString());
assertFalse(dataSet.next());
dataSet = dc.materializeMainSchemaTable(table, table.getColumns(), 1);
assertTrue(dataSet.next());
assertEquals("Row[values=[1, mike, male, 18]]", dataSet.getRow().toString());
assertFalse(dataSet.next());
}