assertEquals("String", NAME.getType().getDescription());
assertEquals(NAME, df.getColumnId(0, ColumnType.STRING));
assertEquals(nameColumn, df.getColumn(NAME));
assertEquals(Array.of("Ada", "Homer", "Hillary"), nameColumn.getValues());
assertEquals("Int", AGE.getType().getDescription());
assertEquals(AGE, df.getColumnId(1, ColumnType.INT));
assertEquals(ageColumn, df.getColumn(AGE));
assertArrayEquals(new int[]{42, 99, 67}, ageColumn.valueStream().toArray());
assertEquals("Double", HEIGHT.getType().getDescription());
assertEquals(HEIGHT, df.getColumnId(2, ColumnType.DOUBLE));
assertEquals(heightColumn, df.getColumn(HEIGHT));
assertArrayEquals(new double[]{1.74, 1.20, 1.70}, heightColumn.valueStream().toArray(), 0.01);
assertEquals("Boolean", VEGETARIAN.getType().getDescription());
assertEquals(VEGETARIAN, df.getColumnId(3, ColumnType.BOOLEAN));
assertEquals(vegetarianColumn, df.getColumn(VEGETARIAN));
assertEquals(Array.of(true, false, false), vegetarianColumn.valueStream().toArray());
assertEquals("Timestamp", DATE_OF_BIRTH.getType().getDescription());
assertEquals(DATE_OF_BIRTH, df.getColumnId(4, ColumnType.TIMESTAMP));
assertEquals(dateOfBirthColumn, df.getColumn(DATE_OF_BIRTH));
assertEquals(Array.of(AUG_26_1975, JAN_08_2006, OCT_26_1947), dateOfBirthColumn.getValues());
assertEquals("Category", GENDER.getType().getDescription());
assertEquals(GENDER, df.getColumnId(5, ColumnType.CATEGORY));
assertEquals(genderColumn, df.getColumn(GENDER));