support for @Unsigned fields and fox bad error of kotlinjs x is Float glitch: it returns true for integers
This commit is contained in:
1 parent
6bc01e9534
commit
0e8f3daf99
7 files changed
+103
-30
No files matched your search
@@ -64,4 +64,5 @@ class SmartintTest {
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -40,6 +40,17 @@ data class FoobarFP1(val bar: Int, val foo: Int,val other: Int = -1)
|
||||
|
||||
class BipackEncoderTest {
|
||||
|
||||
@Serializable
|
||||
data class FoobarSize(val i: Int)
|
||||
|
||||
@Test
|
||||
fun testSize() {
|
||||
println(BipackEncoder.encode(17).toDump())
|
||||
assertEquals(1, BipackEncoder.encode(17).size)
|
||||
// assertEquals(1, BipackEncoder.encode(FoobarSize(17)).size)
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
fun encodeSimple() {
|
||||
val a = Foobar1(42)//, "bum")
|
||||
@@ -87,13 +98,34 @@ class BipackEncoderTest {
|
||||
}
|
||||
|
||||
@Serializable
|
||||
data class FBU(val u: UInt, val i: Int)
|
||||
data class FBU(
|
||||
@Unsigned
|
||||
val u: UInt,
|
||||
@Unsigned
|
||||
val i: Int,
|
||||
val k: UInt = 3u)
|
||||
@Test
|
||||
fun testByteArray() {
|
||||
// val z = Foobar1(42)//, "bum")
|
||||
// println(BipackEncoder.encode(z).toDump())
|
||||
|
||||
val x = byteArrayOf(1,2,3)
|
||||
println(BipackEncoder.encode(x).toDump())
|
||||
println(BipackEncoder.encode("123").toDump())
|
||||
println(BipackEncoder.encode(FBU(3u, 3)).toDump())
|
||||
// println(BipackEncoder.encode(1U).toDump())
|
||||
var d = BipackEncoder.encode(x)
|
||||
println(d.toDump())
|
||||
assertEquals(0x0c, d[0])
|
||||
|
||||
d = BipackEncoder.encode("123")
|
||||
println(d.toDump())
|
||||
assertEquals(0x0c, d[0])
|
||||
|
||||
val f = FBU(3u, 3)
|
||||
d = BipackEncoder.encode(f)
|
||||
println(d.toDump())
|
||||
assertEquals(0x0c, d[0])
|
||||
assertEquals(0x0c, d[1])
|
||||
// Signed encoding despite UInt type:
|
||||
assertEquals(0x18, d[2])
|
||||
|
||||
assertEquals(f, BipackDecoder.decode(d))
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user