void examineBatch(VectorizedRowBatch batch, VectorExtractRow vectorExtractRow,
      TypeInfo[] typeInfos, Object[][] randomRows, int firstRandomRowIndex,
      String title) {

    int rowSize = vectorExtractRow.getCount();
    Object[] row = new Object[rowSize];
    for (int i = 0; i < batch.size; i++) {
      vectorExtractRow.extractRow(batch, i, row);

      Object[] expectedRow = randomRows[firstRandomRowIndex + i];

      for (int c = 0; c < rowSize; c++) {
        Object rowObj = row[c];
        Object expectedObj = expectedRow[c];
        if (rowObj == null) {
          if (expectedObj == null) {
            continue;
          }
          fail("Unexpected NULL from extractRow.  Expected class " +
              typeInfos[c].getCategory() + " value " + expectedObj +
              " batch index " + i + " firstRandomRowIndex " + firstRandomRowIndex);
        }
        if (!rowObj.equals(expectedObj)) {
          String actualValueString = getRowDisplayString(rowObj);
          String expectedValueString = getRowDisplayString(expectedObj);
          String differentInfoString = getDifferenceInfo(row, expectedObj);
          fail("Row " + (firstRandomRowIndex + i) + " and column " + c + " mismatch (" +
              typeInfos[c].getCategory() + " actual value '" + actualValueString + "'" +
              " and expected value '" + expectedValueString + "')" +
              " difference info " + differentInfoString +
              " typeInfos " + Arrays.toString(typeInfos) +
              " title " + title);
        }
      }
    }
  }
Unit test for the vectorized serialize and deserialize row.
ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorSerDeRow.java