|
19 | 19 |
|
20 | 20 | import static java.util.Arrays.asList; |
21 | 21 | import static org.junit.Assert.assertEquals; |
22 | | -import static org.junit.Assert.assertNotNull; |
23 | | -import static org.junit.Assert.assertNull; |
| 22 | +import static org.junit.Assert.assertFalse; |
| 23 | +import static org.junit.Assert.assertTrue; |
24 | 24 |
|
25 | 25 | import java.io.IOException; |
26 | 26 | import java.util.Collections; |
@@ -128,17 +128,30 @@ public void testLoadEmptyValidityBuffer() throws IOException { |
128 | 128 |
|
129 | 129 | vectorLoader.load(recordBatch); |
130 | 130 |
|
131 | | - FieldReader intDefinedReader = newRoot.getVector("intDefined").getReader(); |
132 | | - FieldReader intNullReader = newRoot.getVector("intNull").getReader(); |
| 131 | + NullableIntVector intDefinedVector = (NullableIntVector)newRoot.getVector("intDefined"); |
| 132 | + NullableIntVector intNullVector = (NullableIntVector)newRoot.getVector("intNull"); |
133 | 133 | for (int i = 0; i < count; i++) { |
134 | | - intDefinedReader.setPosition(i); |
135 | | - intNullReader.setPosition(i); |
136 | | - Integer defined = intDefinedReader.readInteger(); |
137 | | - assertNotNull("#" + i, defined); |
138 | | - assertEquals("#" + i, i, defined.intValue()); |
139 | | - Integer nullVal = intNullReader.readInteger(); |
140 | | - assertNull("#" + i, nullVal); |
| 134 | + assertFalse("#" + i, intDefinedVector.getAccessor().isNull(i)); |
| 135 | + assertEquals("#" + i, i, intDefinedVector.getAccessor().get(i)); |
| 136 | + assertTrue("#" + i, intNullVector.getAccessor().isNull(i)); |
141 | 137 | } |
| 138 | + intDefinedVector.getMutator().setSafe(count + 10, 1234); |
| 139 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 1)); |
| 140 | + // empty slots should still default to unset |
| 141 | + intDefinedVector.getMutator().setSafe(count + 1, 789); |
| 142 | + assertFalse(intDefinedVector.getAccessor().isNull(count + 1)); |
| 143 | + assertEquals(789, intDefinedVector.getAccessor().get(count + 1)); |
| 144 | + assertTrue(intDefinedVector.getAccessor().isNull(count)); |
| 145 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 2)); |
| 146 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 3)); |
| 147 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 4)); |
| 148 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 5)); |
| 149 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 6)); |
| 150 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 7)); |
| 151 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 8)); |
| 152 | + assertTrue(intDefinedVector.getAccessor().isNull(count + 9)); |
| 153 | + assertFalse(intDefinedVector.getAccessor().isNull(count + 10)); |
| 154 | + assertEquals(1234, intDefinedVector.getAccessor().get(count + 10)); |
142 | 155 | } finally { |
143 | 156 | values.release(); |
144 | 157 | } |
|
0 commit comments