tests moved to common
This commit is contained in:
1 parent
be03163a96
commit
ee2c958445
1 file changed
+5
-7
@@ -0,0 +1,67 @@
|
||||
package bipack
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import net.sergeych.bintools.toDump
|
||||
import net.sergeych.bipack.*
|
||||
import kotlin.test.*
|
||||
|
||||
@Serializable
|
||||
data class Foobar1N(val bar: Int, val foo: Int = 117)
|
||||
|
||||
@Serializable
|
||||
@ExtendableFormat
|
||||
data class Foobar1(val bar: Int, val foo: Int = 117)
|
||||
|
||||
@Serializable
|
||||
@ExtendableFormat
|
||||
data class Foobar2(val bar: Int, val foo: Int,val other: Int = -1)
|
||||
@Serializable
|
||||
@Framed
|
||||
@ExtendableFormat
|
||||
data class FoobarF1(val bar: Int, val foo: Int = 117)
|
||||
|
||||
@Serializable
|
||||
@Framed
|
||||
@ExtendableFormat
|
||||
@SerialName("bipack.FoobarF1")
|
||||
data class FoobarF2(val bar: Int, val foo: Int,val other: Int = -1)
|
||||
@Serializable
|
||||
@Framed
|
||||
@ExtendableFormat
|
||||
data class FoobarF3(val bar: Int, val foo: Int,val other: Int = -1)
|
||||
|
||||
class BipackEncoderTest {
|
||||
|
||||
@Test
|
||||
fun encodeSimple() {
|
||||
val a = Foobar1(42)//, "bum")
|
||||
println(BipackEncoder.encode(a).toDump())
|
||||
val b = BipackDecoder.decode<Foobar1>(BipackEncoder.encode(a))
|
||||
assertEquals(a, b)
|
||||
val c = BipackDecoder.decode<Foobar2>(BipackEncoder.encode(a))
|
||||
assertEquals(-1, c.other)
|
||||
assertEquals(a.bar, c.bar)
|
||||
}
|
||||
@Test
|
||||
fun encodeFramed() {
|
||||
val a = FoobarF1(42)//, "bum")
|
||||
println(BipackEncoder.encode(a).toDump())
|
||||
val b = BipackDecoder.decode<FoobarF1>(BipackEncoder.encode(a))
|
||||
assertEquals(a, b)
|
||||
val c = BipackDecoder.decode<FoobarF2>(BipackEncoder.encode(a))
|
||||
assertEquals(-1, c.other)
|
||||
assertEquals(a.bar, c.bar)
|
||||
assertFailsWith(InvalidFrameException::class) {
|
||||
BipackDecoder.decode<FoobarF3>(BipackEncoder.encode(a))
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun encodeNonExtendable() {
|
||||
val a = Foobar1N(42)//, "bum")
|
||||
println(BipackEncoder.encode(a).toDump())
|
||||
val b = BipackDecoder.decode<Foobar1N>(BipackEncoder.encode(a))
|
||||
assertEquals(a, b)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user