some support for fixed number
This commit is contained in:
1 parent
5b8df2ff20
commit
86eb5e9d7f
8 files changed
+81
-15
No files matched your search
@@ -2,6 +2,7 @@ package bipack
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import net.sergeych.bintools.encodeToHex
|
||||
import net.sergeych.bintools.toDump
|
||||
import net.sergeych.bipack.*
|
||||
import kotlin.experimental.xor
|
||||
@@ -297,4 +298,28 @@ class BipackEncoderTest {
|
||||
assertEquals(x, d.decodeFromBipack())
|
||||
}
|
||||
|
||||
@Serializable
|
||||
data class FI32(@Fixed val i: Int)
|
||||
|
||||
@Serializable
|
||||
data class FU32(@Fixed val i: UInt)
|
||||
|
||||
@Serializable
|
||||
data class FI16(@Fixed val i: Short)
|
||||
|
||||
@Serializable
|
||||
data class FU16(@Fixed val i: UShort)
|
||||
|
||||
@Test
|
||||
fun testFixedInt() {
|
||||
val a= FI32(127)
|
||||
println(BipackEncoder.encode(a).toDump())
|
||||
assertContentEquals(byteArrayOf(0,0,0,0x7f), BipackEncoder.encode(a))
|
||||
assertEquals("FF FF FF FF", BipackEncoder.encode(FI32(-1)).encodeToHex())
|
||||
assertEquals(-1, BipackEncoder.encode(FI32(-1)).decodeFromBipack<FI32>().i)
|
||||
assertEquals("FF FF FF FF", BipackEncoder.encode(FU32(0xFFFFFFFFu)).encodeToHex())
|
||||
assertEquals("FF 01 02 03", BipackEncoder.encode(FU32(0xFF010203u)).encodeToHex())
|
||||
assertEquals("FF 03", BipackEncoder.encode(FU16(0xFF03u)).encodeToHex())
|
||||
assertEquals(0x7ffeu, BipackEncoder.encode(FU16(0x7ffeu)).decodeFromBipack<FU16>().i)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user