private void testAllIntegerTypeValues() {
    Map<Type, List<Object>> integerTypesAndValues = new LinkedHashMap<Type, List<Object>>();

    // Add TINYINT values
    integerTypesAndValues.put(Type.TINYINT_TYPE, Arrays.<Object>asList(
        Byte.MIN_VALUE, Byte.MAX_VALUE
    ));

    // Add SMALLINT values
    integerTypesAndValues.put(Type.SMALLINT_TYPE, Arrays.<Object>asList(
        Short.MIN_VALUE, Short.MIN_VALUE
    ));

    // Add INT values
    integerTypesAndValues.put(Type.INT_TYPE, Arrays.<Object>asList(
        Integer.MIN_VALUE, Integer.MAX_VALUE
    ));

    // Add BIGINT values
    integerTypesAndValues.put(Type.BIGINT_TYPE, Arrays.<Object>asList(
        Long.MIN_VALUE, Long.MAX_VALUE
    ));

    // Validate all integer type values are stored correctly
    for (Map.Entry entry : integerTypesAndValues.entrySet()) {
      Type type = (Type) entry.getKey();
      List<Object> values = (List) entry.getValue();

      ColumnBuffer c = new ColumnBuffer(type);
      for (Object v : values) {
        c.addValue(type, v);
      }

      assertEquals(type, c.getType());
      assertEquals(values.size(), c.size());

      for (int i = 0; i < c.size(); i++) {
        assertEquals(values.get(i), c.get(i));
      }
    }
  }
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