private static Pair<DecimalVector, ResultVerifier> testDecimalVector(final int startIndexInCurrentOutput, final int startIndexInJob) {
DecimalVector colDecimalV = new DecimalVector("colDecimal", allocator, 10, 10);
colDecimalV.allocateNew(5);
DecimalUtility.writeBigDecimalToArrowBuf(new BigDecimal(25.03).setScale(5, RoundingMode.HALF_UP), tempBuf, 0);
colDecimalV.set(0, tempBuf);
DecimalUtility.writeBigDecimalToArrowBuf(new BigDecimal(2524324.034534), tempBuf, 0);
colDecimalV.set(1, tempBuf);
colDecimalV.setNull(2);
DecimalUtility.writeBigDecimalToArrowBuf(new BigDecimal(2523423423424234243234.235), tempBuf, 0);
colDecimalV.set(3, tempBuf);
DecimalUtility.writeBigDecimalToArrowBuf(new BigDecimal(2523423423424234243234.23524324234234), tempBuf, 0);
colDecimalV.set(4, tempBuf);
ResultVerifier verifier = new ResultVerifier() {
@Override
public void verify(DataPOJO output) {
int index = startIndexInCurrentOutput;
assertEquals(2.503E-4, ((Double)output.extractValue("colDecimal", index++)).doubleValue(), 0.001f);
assertEquals(2.524324034534E23, ((Double)output.extractValue("colDecimal", index++)).doubleValue(), 0.001f);
assertNull(output.extractValue("colDecimal", index++));
assertEquals(2.523423423424234E11, ((Double)output.extractValue("colDecimal", index++)).doubleValue(), 0.001f);
assertEquals(2.523423423424234E11, ((Double)output.extractValue("colDecimal", index++)).doubleValue(), 0.001f);
}
};
return Pair.of(colDecimalV, verifier);
}