Skip to content

Commit d048674

Browse files
dfa1claude
andcommitted
test(writer): ChunkedEncodingEncoderTest reads via typed accessor
Tests were calling ArraySegments.of(result).get(LE_LONG, off) on the decoder output - which is now a ChunkedLongArray with no primary segment, so the 1-arg ArraySegments.of throws. Switch to the typed LongArray.getLong(long) accessor. Found by full ./mvnw verify run. All 13 modules now pass. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 7dc6567 commit d048674

1 file changed

Lines changed: 18 additions & 20 deletions

File tree

writer/src/test/java/io/github/dfa1/vortex/writer/encode/ChunkedEncodingEncoderTest.java

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import io.github.dfa1.vortex.core.PType;
55
import io.github.dfa1.vortex.core.VortexException;
66
import io.github.dfa1.vortex.reader.array.Array;
7-
import io.github.dfa1.vortex.reader.array.ArraySegments;
7+
import io.github.dfa1.vortex.reader.array.LongArray;
88
import io.github.dfa1.vortex.reader.decode.ArrayNode;
99
import io.github.dfa1.vortex.reader.decode.DecodeContext;
1010

@@ -18,18 +18,13 @@
1818

1919
import java.lang.foreign.Arena;
2020
import java.lang.foreign.MemorySegment;
21-
import java.lang.foreign.ValueLayout;
22-
import java.nio.ByteOrder;
2321
import java.util.List;
2422

2523
import static org.assertj.core.api.Assertions.assertThat;
2624
import static org.assertj.core.api.Assertions.assertThatThrownBy;
2725

2826
class ChunkedEncodingEncoderTest {
2927

30-
private static final ValueLayout.OfLong LE_LONG =
31-
ValueLayout.JAVA_LONG_UNALIGNED.withOrder(ByteOrder.LITTLE_ENDIAN);
32-
3328
private static final ChunkedEncodingEncoder ENCODER = new ChunkedEncodingEncoder();
3429
private static final ChunkedEncodingDecoder DECODER = new ChunkedEncodingDecoder();
3530
private static final PrimitiveEncodingEncoder PRIM_ENCODER = new PrimitiveEncodingEncoder();
@@ -61,12 +56,13 @@ void roundTrip_twoChunks_i64_preservesValues() {
6156
DecodeContext ctx = DecodeTestHelper.toDecodeContext(encoded, 5L, i64, REGISTRY);
6257
Array result = DECODER.decode(ctx);
6358

64-
assertThat(result.length()).isEqualTo(5);
65-
assertThat(ArraySegments.of(result).get(LE_LONG, 0L)).isEqualTo(10L);
66-
assertThat(ArraySegments.of(result).get(LE_LONG, 8L)).isEqualTo(20L);
67-
assertThat(ArraySegments.of(result).get(LE_LONG, 16L)).isEqualTo(30L);
68-
assertThat(ArraySegments.of(result).get(LE_LONG, 24L)).isEqualTo(40L);
69-
assertThat(ArraySegments.of(result).get(LE_LONG, 32L)).isEqualTo(50L);
59+
LongArray la = (LongArray) result;
60+
assertThat(la.length()).isEqualTo(5);
61+
assertThat(la.getLong(0)).isEqualTo(10L);
62+
assertThat(la.getLong(1)).isEqualTo(20L);
63+
assertThat(la.getLong(2)).isEqualTo(30L);
64+
assertThat(la.getLong(3)).isEqualTo(40L);
65+
assertThat(la.getLong(4)).isEqualTo(50L);
7066
}
7167

7268
@Test
@@ -120,12 +116,13 @@ void roundTrip_twoChunks_concatenatesValues() {
120116
DecodeContext ctx = new DecodeContext(root, i64, 5L, allBufs, REGISTRY, Arena.ofAuto());
121117
Array result = DECODER.decode(ctx);
122118

123-
assertThat(result.length()).isEqualTo(5);
124-
assertThat(ArraySegments.of(result).get(LE_LONG, 0L)).isEqualTo(10L);
125-
assertThat(ArraySegments.of(result).get(LE_LONG, 8L)).isEqualTo(20L);
126-
assertThat(ArraySegments.of(result).get(LE_LONG, 16L)).isEqualTo(30L);
127-
assertThat(ArraySegments.of(result).get(LE_LONG, 24L)).isEqualTo(40L);
128-
assertThat(ArraySegments.of(result).get(LE_LONG, 32L)).isEqualTo(50L);
119+
LongArray la = (LongArray) result;
120+
assertThat(la.length()).isEqualTo(5);
121+
assertThat(la.getLong(0)).isEqualTo(10L);
122+
assertThat(la.getLong(1)).isEqualTo(20L);
123+
assertThat(la.getLong(2)).isEqualTo(30L);
124+
assertThat(la.getLong(3)).isEqualTo(40L);
125+
assertThat(la.getLong(4)).isEqualTo(50L);
129126
}
130127

131128
@Test
@@ -150,9 +147,10 @@ void singleChunk_returnsSameValues() {
150147
DecodeContext ctx = new DecodeContext(root, i64, 3L, allBufs, REGISTRY, Arena.ofAuto());
151148
Array result = DECODER.decode(ctx);
152149

153-
assertThat(result.length()).isEqualTo(3);
150+
LongArray la = (LongArray) result;
151+
assertThat(la.length()).isEqualTo(3);
154152
for (int i = 0; i < 3; i++) {
155-
assertThat(ArraySegments.of(result).get(LE_LONG, (long) i * 8)).isEqualTo(data[i]);
153+
assertThat(la.getLong(i)).isEqualTo(data[i]);
156154
}
157155
}
158156

0 commit comments

Comments
 (0)