@Override protected IntColumn.Builder builder() { return IntColumn.builder(ID); }
public int getValueAt(int rowIndex, IntColumnId columnId) { IntColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
@Override public IntColumn build() { return new IntColumn(id, valueBuilder.build(), metaDataBuilder.build()); }
@Test public void valueTypeSpecificBuilding() { IntColumn column = builder().add(42).addAll(33, 69).add(99).build(); assertEquals(ID, column.getId()); assertEquals(4, column.getRowCount()); assertEquals(42, column.getValueAt(0)); assertEquals(99, column.getValueAt(column.getRowCount() - 1)); assertArrayEquals(new int[]{42, 33, 69, 99}, column.valueStream().toArray()); }
IntColumn ageColumn = IntColumn.ofAll(AGE, 42, 99, 67); DoubleColumn heightColumn = DoubleColumn.ofAll(HEIGHT, 1.74, 1.20, 1.70); BooleanColumn vegetarianColumn = BooleanColumn.ofAll(VEGETARIAN, true, false, false); assertEquals(AGE, df.getColumnId(1, ColumnType.INT)); assertEquals(ageColumn, df.getColumn(AGE)); assertArrayEquals(new int[]{42, 99, 67}, ageColumn.valueStream().toArray());
assertArrayEquals(new int[]{42, 99, 67}, ageColumn.valueStream().toArray());
public static IntColumn ofAll(IntColumnId id, int... values) { return builder(id).addAll(values).build(); }
public int getValueAt(int rowIndex, IntColumnId columnId) { IntColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
@Override public IntColumn build() { return new IntColumn(id, valueBuilder.build(), metaDataBuilder.build()); }
public static IntColumn of(IntColumnId id, int value) { return builder(id).add(value).build(); }
public static IntColumn ofAll(IntColumnId id, IntStream values) { return builder(id).addAll(values).build(); }
public static IntColumn ofAll(IntColumnId id, IntStream values) { return builder(id).addAll(values).build(); }
public static IntColumn of(IntColumnId id, int value) { return builder(id).add(value).build(); }
public static IntColumn ofAll(IntColumnId id, int... values) { return builder(id).addAll(values).build(); }
@Test(expected = IllegalArgumentException.class) public void failOnDifferingColumnSizes() { StringColumn oneRowColumn = StringColumn.builder(NAME).add("foo").build(); IntColumn threeRowColumn = IntColumn.builder(AGE).addAll(1, 2, 3).build(); DataFrame.ofAll(oneRowColumn, threeRowColumn); }
@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 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 iterator() { StringColumn stringColumn = StringColumn.builder(NAME).build(); IntColumn intColumn = IntColumn.builder(AGE).build(); Iterator<Column<?>> iterator = DataFrame.ofAll(stringColumn, intColumn).iterator(); assertTrue(iterator.hasNext()); iterator.next(); assertTrue(iterator.hasNext()); iterator.next(); assertFalse(iterator.hasNext()); }