@Test public void csvWithEmptyValues() { String validButWithEmptyValues = "First,Last\n" + "String,String\n" + "Barack,Obama\n" + "Homer,\n" + ",Clinton\n"; DataFrame df = Parser.csv(new StringReader(validButWithEmptyValues)); assertEquals(2, df.getColumnCount()); assertEquals(3, df.getRowCount()); }
@Test public void tsvWithEmptyValues() { String validButWithEmptyValues = "First\tLast\n" + "String\tString\n" + "Barack\tObama\n" + "Homer\t\n" + "\tClinton\n"; DataFrame df = Parser.tsv(new StringReader(validButWithEmptyValues)); assertEquals(2, df.getColumnCount()); assertEquals(3, df.getRowCount()); }
@Test public void ofAll() { StringColumn stringColumn = StringColumn.builder(NAME).build(); IntColumn intColumn = IntColumn.builder(AGE).build(); // enum variant assertEquals(2, DataFrame.ofAll(stringColumn, intColumn).getColumnCount()); // iterable variant Iterable<Column<?>> columns = Arrays.asList(stringColumn, intColumn); assertEquals(2, DataFrame.ofAll(columns).getColumnCount()); }
@Test public void customColumnTypes() { GenericColumnId fileColumnId = new GenericColumnId("File", new ColumnType<>("File", GenericColumnId.class)); File fileA = new File("/path/to/a.txt"); File fileB = new File("/path/to/b.txt"); GenericColumn<File, GenericColumnId> fileColumn = GenericColumn.ofAll(fileColumnId, fileA, fileB); DataFrame df = DataFrame.of(fileColumn); assertEquals(2, df.getRowCount()); assertEquals(1, df.getColumnCount()); GenericColumn<File, GenericColumnId> column = df.getColumn(fileColumnId); assertEquals(fileColumn, column); File fileValue = df.getValueAt(1, fileColumnId); assertEquals(fileB, fileValue); }
@Test public void withMetaData() { StringColumn stringColumn = StringColumn.builder(NAME).build(); IntColumn intColumn = IntColumn.builder(AGE).build(); DataFrame df = DataFrame.ofAll(stringColumn, intColumn); Map<String, String> metaData = LinkedHashMap.of("foo", "bar"); DataFrame withMetaData = df.withMetaData(metaData); assertEquals(metaData, withMetaData.getMetaData()); assertEquals(2, withMetaData.getColumnCount()); }
@Test public void empty() { DataFrame dataFrame = DataFrame.empty(); assertEquals(0, dataFrame.getRowCount()); assertEquals(0, dataFrame.getColumnCount()); assertTrue(dataFrame.getColumnIds().isEmpty()); assertTrue(dataFrame.getColumnNames().isEmpty()); assertTrue(dataFrame.getColumns().isEmpty()); }
private static void assertDataFrameParsedCorrectly(DataFrame df) { assertEquals(6, df.getColumnCount()); assertEquals(Array.of("Name", "Age", "Height", "Vegetarian", "Date Of Birth", "Gender"), df.getColumnNames());
assertEquals(6, df.getColumnCount());