private void testFloatAndDoubleValues() {
    ColumnBuffer floatColumn = new ColumnBuffer(Type.FLOAT_TYPE);
    floatColumn.addValue(Type.FLOAT_TYPE, 1.1f);
    floatColumn.addValue(Type.FLOAT_TYPE, 2.033f);

    // FLOAT_TYPE is treated as DOUBLE_TYPE
    assertEquals(Type.FLOAT_TYPE, floatColumn.getType());
    assertEquals(2, floatColumn.size());
    assertEquals(1.1, floatColumn.get(0));
    assertEquals(2.033, floatColumn.get(1));

    ColumnBuffer doubleColumn = new ColumnBuffer(Type.DOUBLE_TYPE);
    doubleColumn.addValue(Type.DOUBLE_TYPE, 1.1);
    doubleColumn.addValue(Type.DOUBLE_TYPE, 2.033);

    assertEquals(Type.DOUBLE_TYPE, doubleColumn.getType());
    assertEquals(2, doubleColumn.size());
    assertEquals(1.1, doubleColumn.get(0));
    assertEquals(2.033, doubleColumn.get(1));
  }
Test if the nulls BitSet is maintained properly when we extract subset from ColumnBuffer.
E.g. suppose we have a ColumnBuffer with nulls [0, 0, 1, 0]. When we split it evenly into
two subsets, the subsets should have nulls [0, 0] and [1, 0] respectively.
serde/src/test/org/apache/hadoop/hive/serde2/thrift/TestColumnBuffer.java