@Test
public void testLongColAddLongScalarWithRepeating() {
LongColumnVector in, out;
VectorizedRowBatch batch;
LongColAddLongScalar expr;
// Case 1: is repeating, no nulls
batch = getVectorizedRowBatchSingleLongVector(VectorizedRowBatch.DEFAULT_SIZE);
in = (LongColumnVector) batch.cols[0];
in.isRepeating = true;
out = (LongColumnVector) batch.cols[1];
out.isRepeating = false;
expr = new LongColAddLongScalar(0, 23, 1);
expr.evaluate(batch);
// verify
Assert.assertTrue(out.isRepeating);
Assert.assertTrue(out.noNulls);
Assert.assertEquals(out.vector[0], 0 * 37 + 23);
// Case 2: is repeating, has nulls
batch = getVectorizedRowBatchSingleLongVector(VectorizedRowBatch.DEFAULT_SIZE);
in = (LongColumnVector) batch.cols[0];
in.isRepeating = true;
in.noNulls = false;
in.isNull[0] = true;
out = (LongColumnVector) batch.cols[1];
out.isRepeating = false;
out.isNull[0] = false;
out.noNulls = true;
expr = new LongColAddLongScalar(0, 23, 1);
expr.evaluate(batch);
// verify
Assert.assertTrue(out.isRepeating);
Assert.assertFalse(out.noNulls);
Assert.assertEquals(true, out.isNull[0]);
verifyLongNullDataVectorEntries(out, batch.selected, batch.selectedInUse, batch.size);