Skip to content

Commit da37256

Browse files
committed
test: update tests to use new defaultEncoding property in PackedFormat, align with refactor changes
1 parent b0b1a0e commit da37256

1 file changed

Lines changed: 18 additions & 68 deletions

File tree

src/test/kotlin/com/eignex/kencode/PackedFormatTest.kt

Lines changed: 18 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)