@@ -261,92 +261,51 @@ class PackedFormatTest {
261261 }
262262
263263 @Test
264- fun `builder defaultVarInt reduces size for positive integers` () {
264+ fun `defaultEncoding DEFAULT reduces size for positive integers` () {
265265 val payload = UnannotatedPayload (5 , 10L )
266266
267267 val standardFormat = PackedFormat .Default
268- val optimizedFormat = PackedFormat { defaultVarInt = true }
268+ val optimizedFormat = PackedFormat { defaultEncoding = PackedIntegerType . DEFAULT }
269269
270- val standardBytes = standardFormat.encodeToByteArray(
271- UnannotatedPayload .serializer(),
272- payload
273- )
274- val optimizedBytes = optimizedFormat.encodeToByteArray(
275- UnannotatedPayload .serializer(),
276- payload
277- )
270+ val standardBytes = standardFormat.encodeToByteArray(UnannotatedPayload .serializer(), payload)
271+ val optimizedBytes = optimizedFormat.encodeToByteArray(UnannotatedPayload .serializer(), payload)
278272
279273 // Standard size: 4 bytes (Int) + 8 bytes (Long) = 12 bytes
280274 assertEquals(12 , standardBytes.size)
281-
282275 // Optimized size: 1 byte (VarInt 5) + 1 byte (VarLong 10) = 2 bytes
283276 assertEquals(2 , optimizedBytes.size)
284- assertTrue(optimizedBytes.size < standardBytes.size)
285277
286- // Validate roundtrip
287- val decoded = optimizedFormat.decodeFromByteArray(
288- UnannotatedPayload .serializer(),
289- optimizedBytes
290- )
291- assertEquals(payload, decoded)
278+ assertEquals(payload, optimizedFormat.decodeFromByteArray(UnannotatedPayload .serializer(), optimizedBytes))
292279 }
293280
294281 @Test
295- fun `builder defaultZigZag reduces size for negative integers` () {
296- // -1 without ZigZag takes 5 bytes for Int and 10 bytes for Long in standard VarInt encoding
282+ fun `defaultEncoding SIGNED reduces size for negative integers` () {
297283 val payload = UnannotatedPayload (- 1 , - 1L )
298284
299285 val standardFormat = PackedFormat .Default
300- val varIntFormat = PackedFormat { defaultVarInt = true }
301- val zigZagFormat = PackedFormat { defaultZigZag = true }
302-
303- val standardBytes = standardFormat.encodeToByteArray(
304- UnannotatedPayload .serializer(),
305- payload
306- )
307- val varIntBytes = varIntFormat.encodeToByteArray(
308- UnannotatedPayload .serializer(),
309- payload
310- )
311- val zigZagBytes = zigZagFormat.encodeToByteArray(
312- UnannotatedPayload .serializer(),
313- payload
314- )
286+ val varIntFormat = PackedFormat { defaultEncoding = PackedIntegerType .DEFAULT }
287+ val zigZagFormat = PackedFormat { defaultEncoding = PackedIntegerType .SIGNED }
315288
316289 // Standard: 12 bytes
317- assertEquals(12 , standardBytes.size)
318- // Basic VarInt of negative numbers uses max bytes: 5 + 10 = 15 bytes
319- assertEquals(15 , varIntBytes.size)
320- // ZigZag folds -1 into 1, which takes 1 byte each: 1 + 1 = 2 bytes
290+ assertEquals(12 , standardFormat.encodeToByteArray(UnannotatedPayload .serializer(), payload).size)
291+ // Unsigned VarInt of -1 uses max bytes: 5 + 10 = 15 bytes
292+ assertEquals(15 , varIntFormat.encodeToByteArray(UnannotatedPayload .serializer(), payload).size)
293+ // ZigZag folds -1 into 1: 1 + 1 = 2 bytes
294+ val zigZagBytes = zigZagFormat.encodeToByteArray(UnannotatedPayload .serializer(), payload)
321295 assertEquals(2 , zigZagBytes.size)
322296
323- // Validate roundtrip
324- val decoded = zigZagFormat.decodeFromByteArray(
325- UnannotatedPayload .serializer(),
326- zigZagBytes
327- )
328- assertEquals(payload, decoded)
297+ assertEquals(payload, zigZagFormat.decodeFromByteArray(UnannotatedPayload .serializer(), zigZagBytes))
329298 }
330299
331300 @Test
332- fun `builder defaultVarInt is overridden by FixedInt annotation` () {
301+ fun `defaultEncoding SIGNED is overridden by PackedType FIXED annotation` () {
333302 val payload = InversePayload (5 , - 10L , 6u , 7uL )
334303
335- val optimizedFormat = PackedFormat {
336- defaultVarInt = true
337- defaultZigZag = true
338- }
304+ val optimizedFormat = PackedFormat { defaultEncoding = PackedIntegerType .SIGNED }
339305
340- val bytes = optimizedFormat.encodeToByteArray(
341- InversePayload .serializer(),
342- payload
343- )
306+ val bytes = optimizedFormat.encodeToByteArray(InversePayload .serializer(), payload)
344307 assertEquals(24 , bytes.size)
345- val decoded = optimizedFormat.decodeFromByteArray(
346- InversePayload .serializer(),
347- bytes
348- )
349- assertEquals(payload, decoded)
308+ assertEquals(payload, optimizedFormat.decodeFromByteArray(InversePayload .serializer(), bytes))
350309 }
351310
352311 @Test
@@ -421,15 +380,6 @@ class PackedFormatTest {
421380 assertPackedRoundtrip(VarIntVarUIntPayload .serializer(), intNegative)
422381 }
423382
424- @Test
425- fun `both defaultVarInt and defaultZigZag active uses zigzag` () {
426- val fmt = PackedFormat { defaultVarInt = true ; defaultZigZag = true }
427- val payload = UnannotatedPayload (- 1 , - 1L )
428- val bytes = fmt.encodeToByteArray(UnannotatedPayload .serializer(), payload)
429- assertEquals(2 , bytes.size)
430- assertEquals(payload, fmt.decodeFromByteArray(UnannotatedPayload .serializer(), bytes))
431- }
432-
433383 @Test
434384 fun `deep null mid-chain roundtrip` () {
435385 assertPackedRoundtrip(DeepNested .serializer(), DeepNested (" root" , Level1 (false , null )))
0 commit comments