Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • justJanne/libquassel
1 result
Select Git revision
Show changes
Showing
with 2018 additions and 1994 deletions
......@@ -29,49 +29,55 @@ class QVariantMapSerializerTest {
}
@Test
fun testEmpty() = primitiveSerializerTest(
QVariantMapSerializer,
mapOf(),
byteBufferOf(0, 0, 0, 0)
)
fun testEmpty() =
primitiveSerializerTest(
QVariantMapSerializer,
mapOf(),
byteBufferOf(0, 0, 0, 0),
)
@Test
fun testNormal() = primitiveSerializerTest(
QVariantMapSerializer,
mapOf(
"Username" to qVariant("AzureDiamond", QtType.QString),
"Password" to qVariant("hunter2", QtType.QString)
),
byteBufferOf(
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00,
0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x41, 0x00, 0x7A, 0x00,
0x75, 0x00, 0x72, 0x00, 0x65, 0x00, 0x44, 0x00, 0x69, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x64,
0x00, 0x00, 0x00, 0x10, 0x00, 0x50, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00,
0x64, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x68, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x74, 0x00,
0x65, 0x00, 0x72, 0x00, 0x32
),
::MapMatcher
)
fun testNormal() =
primitiveSerializerTest(
QVariantMapSerializer,
mapOf(
"Username" to qVariant("AzureDiamond", QtType.QString),
"Password" to qVariant("hunter2", QtType.QString),
),
byteBufferOf(
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x55, 0x00, 0x73,
0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65,
0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x41, 0x00,
0x7A, 0x00, 0x75, 0x00, 0x72, 0x00, 0x65, 0x00, 0x44, 0x00, 0x69, 0x00,
0x61, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x00, 0x00,
0x10, 0x00, 0x50, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00,
0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
0x00, 0x0E, 0x00, 0x68, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x65,
0x00, 0x72, 0x00, 0x32,
),
::MapMatcher,
)
@Test
fun testNullKey() = primitiveSerializerTest(
QVariantMapSerializer,
mapOf(
"" to qVariant<String?>(null, QtType.QString)
),
byteBufferOf(
// length
0x00u, 0x00u, 0x00u, 0x01u,
// length of key
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// type of value
0x00u, 0x00u, 0x00u, 0x0Au,
// isNull of value
0x00u,
// length of value
0xFFu, 0xFFu, 0xFFu, 0xFFu
),
::MapMatcher,
serializeFeatureSet = null
)
fun testNullKey() =
primitiveSerializerTest(
QVariantMapSerializer,
mapOf(
"" to qVariant<String?>(null, QtType.QString),
),
byteBufferOf(
// length
0x00u, 0x00u, 0x00u, 0x01u,
// length of key
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// type of value
0x00u, 0x00u, 0x00u, 0x0Au,
// isNull of value
0x00u,
// length of value
0xFFu, 0xFFu, 0xFFu, 0xFFu,
),
::MapMatcher,
serializeFeatureSet = null,
)
}
......@@ -33,7 +33,7 @@ class QVariantSerializerTest {
assertThrows<NoSerializerForTypeException> {
QVariantSerializer.deserialize(
byteBufferOf(0x00u, 0x00u, 0x01u, 0x00u, 0x00u),
FeatureSet.all()
FeatureSet.all(),
)
}
}
......@@ -43,7 +43,7 @@ class QVariantSerializerTest {
assertThrows<NoSerializerForTypeException> {
QVariantSerializer.deserialize(
byteBufferOf(0x00u, 0xFFu, 0x00u, 0x00u, 0x00u),
FeatureSet.all()
FeatureSet.all(),
)
}
}
......@@ -60,7 +60,7 @@ class QVariantSerializerTest {
// QuasselType length
0x00u, 0x00u, 0x00u, 0x00u,
),
FeatureSet.all()
FeatureSet.all(),
)
}
}
......@@ -77,9 +77,9 @@ class QVariantSerializerTest {
// QuasselType length
0x00u, 0x00u, 0x00u, 0x03u,
// "foo"
0x66u, 0x6fu, 0x6fu
0x66u, 0x6fu, 0x6fu,
),
FeatureSet.all()
FeatureSet.all(),
)
}
}
......
......@@ -27,30 +27,34 @@ class ShortSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
ShortSerializer,
0.toShort(),
byteBufferOf(0, 0)
)
fun testZero() =
primitiveSerializerTest(
ShortSerializer,
0.toShort(),
byteBufferOf(0, 0),
)
@Test
fun testMinimal() = primitiveSerializerTest(
ShortSerializer,
Short.MIN_VALUE,
byteBufferOf(-128, 0)
)
fun testMinimal() =
primitiveSerializerTest(
ShortSerializer,
Short.MIN_VALUE,
byteBufferOf(-128, 0),
)
@Test
fun testMaximal() = primitiveSerializerTest(
ShortSerializer,
Short.MAX_VALUE,
byteBufferOf(127, -1)
)
fun testMaximal() =
primitiveSerializerTest(
ShortSerializer,
Short.MAX_VALUE,
byteBufferOf(127, -1),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
ShortSerializer,
0.toShort().inv(),
byteBufferOf(-1, -1)
)
fun testAllOnes() =
primitiveSerializerTest(
ShortSerializer,
0.toShort().inv(),
byteBufferOf(-1, -1),
)
}
......@@ -62,7 +62,8 @@ class StringSerializerTest {
@Test
fun testRoundtripEnglish() {
val data = """
val data =
"""
: ACHTUNG!
ALLES TURISTEN UND NONTEKNISCHEN LOOKENPEEPERS!
DAS KOMPUTERMASCHINE IST NICHT FÜR DER GEFINGERPOKEN UND MITTENGRABEN! ODERWISE IST EASY TO SCHNAPPEN DER SPRINGENWERK, BLOWENFUSEN UND POPPENCORKEN MIT SPITZENSPARKEN.
......@@ -73,7 +74,7 @@ class StringSerializerTest {
DAS KOMPUTERMASCHINE IST NICHT FÜR DER GEFINGERPOKEN UND MITTENGRABEN! ODERWISE IST EASY TO SCHNAPPEN DER SPRINGENWERK, BLOWENFUSEN UND POPPENCORKEN MIT SPITZENSPARKEN.
IST NICHT FÜR GEWERKEN BEI DUMMKOPFEN. DER RUBBERNECKEN SIGHTSEEREN KEEPEN DAS COTTONPICKEN HÄNDER IN DAS POCKETS MUSS.
ZO RELAXEN UND WATSCHEN DER BLINKENLICHTEN.
""".trimIndent()
""".trimIndent()
testPrimitiveSerializerDirect(StringSerializerAscii, data, matcher = BomMatcherString(data))
......@@ -87,7 +88,8 @@ class StringSerializerTest {
@Test
fun testRoundtripEnglishUtf16() {
val data = """
val data =
"""
: ACHTUNG!
ALLES TURISTEN UND NONTEKNISCHEN LOOKENPEEPERS!
DAS KOMPUTERMASCHINE IST NICHT FÜR DER GEFINGERPOKEN UND MITTENGRABEN! ODERWISE IST EASY TO SCHNAPPEN DER SPRINGENWERK, BLOWENFUSEN UND POPPENCORKEN MIT SPITZENSPARKEN.
......@@ -98,1208 +100,1211 @@ class StringSerializerTest {
DAS KOMPUTERMASCHINE IST NICHT FÜR DER GEFINGERPOKEN UND MITTENGRABEN! ODERWISE IST EASY TO SCHNAPPEN DER SPRINGENWERK, BLOWENFUSEN UND POPPENCORKEN MIT SPITZENSPARKEN.
IST NICHT FÜR GEWERKEN BEI DUMMKOPFEN. DER RUBBERNECKEN SIGHTSEEREN KEEPEN DAS COTTONPICKEN HÄNDER IN DAS POCKETS MUSS.
ZO RELAXEN UND WATSCHEN DER BLINKENLICHTEN.
""".trimIndent()
""".trimIndent()
testPrimitiveSerializerDirect(StringSerializerUtf16, data)
}
@Test
fun testDeserializeEnglish() {
val value = """
val value =
"""
: ACHTUNG!
ALLES TURISTEN UND NONTEKNISCHEN LOOKENPEEPERS!
DAS KOMPUTERMASCHINE IST NICHT FÜR DER GEFINGERPOKEN UND MITTENGRABEN! ODERWISE IST EASY TO SCHNAPPEN DER SPRINGENWERK, BLOWENFUSEN UND POPPENCORKEN MIT SPITZENSPARKEN.
IST NICHT FÜR GEWERKEN BEI DUMMKOPFEN. DER RUBBERNECKEN SIGHTSEEREN KEEPEN DAS COTTONPICKEN HÄNDER IN DAS POCKETS MUSS.
ZO RELAXEN UND WATSCHEN DER BLINKENLICHTEN.
""".trimIndent()
""".trimIndent()
val utf8Buffer = byteBufferOf(
0,
0,
1,
-118,
58,
32,
65,
67,
72,
84,
85,
78,
71,
33,
10,
65,
76,
76,
69,
83,
32,
84,
85,
82,
73,
83,
84,
69,
78,
32,
85,
78,
68,
32,
78,
79,
78,
84,
69,
75,
78,
73,
83,
67,
72,
69,
78,
32,
76,
79,
79,
75,
69,
78,
80,
69,
69,
80,
69,
82,
83,
33,
10,
68,
65,
83,
32,
75,
79,
77,
80,
85,
84,
69,
82,
77,
65,
83,
67,
72,
73,
78,
69,
32,
73,
83,
84,
32,
78,
73,
67,
72,
84,
32,
70,
-61,
-100,
82,
32,
68,
69,
82,
32,
71,
69,
70,
73,
78,
71,
69,
82,
80,
79,
75,
69,
78,
32,
85,
78,
68,
32,
77,
73,
84,
84,
69,
78,
71,
82,
65,
66,
69,
78,
33,
32,
79,
68,
69,
82,
87,
73,
83,
69,
32,
73,
83,
84,
32,
69,
65,
83,
89,
32,
84,
79,
32,
83,
67,
72,
78,
65,
80,
80,
69,
78,
32,
68,
69,
82,
32,
83,
80,
82,
73,
78,
71,
69,
78,
87,
69,
82,
75,
44,
32,
66,
76,
79,
87,
69,
78,
70,
85,
83,
69,
78,
32,
85,
78,
68,
32,
80,
79,
80,
80,
69,
78,
67,
79,
82,
75,
69,
78,
32,
77,
73,
84,
32,
83,
80,
73,
84,
90,
69,
78,
83,
80,
65,
82,
75,
69,
78,
46,
10,
73,
83,
84,
32,
78,
73,
67,
72,
84,
32,
70,
-61,
-100,
82,
32,
71,
69,
87,
69,
82,
75,
69,
78,
32,
66,
69,
73,
32,
68,
85,
77,
77,
75,
79,
80,
70,
69,
78,
46,
32,
68,
69,
82,
32,
82,
85,
66,
66,
69,
82,
78,
69,
67,
75,
69,
78,
32,
83,
73,
71,
72,
84,
83,
69,
69,
82,
69,
78,
32,
75,
69,
69,
80,
69,
78,
32,
68,
65,
83,
32,
67,
79,
84,
84,
79,
78,
80,
73,
67,
75,
69,
78,
32,
72,
-61,
-124,
78,
68,
69,
82,
32,
73,
78,
32,
68,
65,
83,
32,
80,
79,
67,
75,
69,
84,
83,
32,
77,
85,
83,
83,
46,
10,
90,
79,
32,
82,
69,
76,
65,
88,
69,
78,
32,
85,
78,
68,
32,
87,
65,
84,
83,
67,
72,
69,
78,
32,
68,
69,
82,
32,
66,
76,
73,
78,
75,
69,
78,
76,
73,
67,
72,
84,
69,
78,
46
)
val utf16Buffer = byteBufferOf(
0,
0,
3,
14,
0,
58,
0,
32,
0,
65,
0,
67,
0,
72,
0,
84,
0,
85,
0,
78,
0,
71,
0,
33,
0,
10,
0,
65,
0,
76,
0,
76,
0,
69,
0,
83,
0,
32,
0,
84,
0,
85,
0,
82,
0,
73,
0,
83,
0,
84,
0,
69,
0,
78,
0,
32,
0,
85,
0,
78,
0,
68,
0,
32,
0,
78,
0,
79,
0,
78,
0,
84,
0,
69,
0,
75,
0,
78,
0,
73,
0,
83,
0,
67,
0,
72,
0,
69,
0,
78,
0,
32,
0,
76,
0,
79,
0,
79,
0,
75,
0,
69,
0,
78,
0,
80,
0,
69,
0,
69,
0,
80,
0,
69,
0,
82,
0,
83,
0,
33,
0,
10,
0,
68,
0,
65,
0,
83,
0,
32,
0,
75,
0,
79,
0,
77,
0,
80,
0,
85,
0,
84,
0,
69,
0,
82,
0,
77,
0,
65,
0,
83,
0,
67,
0,
72,
0,
73,
0,
78,
0,
69,
0,
32,
0,
73,
0,
83,
0,
84,
0,
32,
0,
78,
0,
73,
0,
67,
0,
72,
0,
84,
0,
32,
0,
70,
0,
-36,
0,
82,
0,
32,
0,
68,
0,
69,
0,
82,
0,
32,
0,
71,
0,
69,
0,
70,
0,
73,
0,
78,
0,
71,
0,
69,
0,
82,
0,
80,
0,
79,
0,
75,
0,
69,
0,
78,
0,
32,
0,
85,
0,
78,
0,
68,
0,
32,
0,
77,
0,
73,
0,
84,
0,
84,
0,
69,
0,
78,
0,
71,
0,
82,
0,
65,
0,
66,
0,
69,
0,
78,
0,
33,
0,
32,
0,
79,
0,
68,
0,
69,
0,
82,
0,
87,
0,
73,
0,
83,
0,
69,
0,
32,
0,
73,
0,
83,
0,
84,
0,
32,
0,
69,
0,
65,
0,
83,
0,
89,
0,
32,
0,
84,
0,
79,
0,
32,
0,
83,
0,
67,
0,
72,
0,
78,
0,
65,
0,
80,
0,
80,
0,
69,
0,
78,
0,
32,
0,
68,
0,
69,
0,
82,
0,
32,
0,
83,
0,
80,
0,
82,
0,
73,
0,
78,
0,
71,
0,
69,
0,
78,
0,
87,
0,
69,
0,
82,
0,
75,
0,
44,
0,
32,
0,
66,
0,
76,
0,
79,
0,
87,
0,
69,
0,
78,
0,
70,
0,
85,
0,
83,
0,
69,
0,
78,
0,
32,
0,
85,
0,
78,
0,
68,
0,
32,
0,
80,
0,
79,
0,
80,
0,
80,
0,
69,
0,
78,
0,
67,
0,
79,
0,
82,
0,
75,
0,
69,
0,
78,
0,
32,
0,
77,
0,
73,
0,
84,
0,
32,
0,
83,
0,
80,
0,
73,
0,
84,
0,
90,
0,
69,
0,
78,
0,
83,
0,
80,
0,
65,
0,
82,
0,
75,
0,
69,
0,
78,
0,
46,
0,
10,
0,
73,
0,
83,
0,
84,
0,
32,
0,
78,
0,
73,
0,
67,
0,
72,
0,
84,
0,
32,
0,
70,
0,
-36,
0,
82,
0,
32,
0,
71,
0,
69,
0,
87,
0,
69,
0,
82,
0,
75,
0,
69,
0,
78,
0,
32,
0,
66,
0,
69,
0,
73,
0,
32,
0,
68,
0,
85,
0,
77,
0,
77,
0,
75,
0,
79,
0,
80,
0,
70,
0,
69,
0,
78,
0,
46,
0,
32,
0,
68,
0,
69,
0,
82,
0,
32,
0,
82,
0,
85,
0,
66,
0,
66,
0,
69,
0,
82,
0,
78,
0,
69,
0,
67,
0,
75,
0,
69,
0,
78,
0,
32,
0,
83,
0,
73,
0,
71,
0,
72,
0,
84,
0,
83,
0,
69,
0,
69,
0,
82,
0,
69,
0,
78,
0,
32,
0,
75,
0,
69,
0,
69,
0,
80,
0,
69,
0,
78,
0,
32,
0,
68,
0,
65,
0,
83,
0,
32,
0,
67,
0,
79,
0,
84,
0,
84,
0,
79,
0,
78,
0,
80,
0,
73,
0,
67,
0,
75,
0,
69,
0,
78,
0,
32,
0,
72,
0,
-60,
0,
78,
0,
68,
0,
69,
0,
82,
0,
32,
0,
73,
0,
78,
0,
32,
0,
68,
0,
65,
0,
83,
0,
32,
0,
80,
0,
79,
0,
67,
0,
75,
0,
69,
0,
84,
0,
83,
0,
32,
0,
77,
0,
85,
0,
83,
0,
83,
0,
46,
0,
10,
0,
90,
0,
79,
0,
32,
0,
82,
0,
69,
0,
76,
0,
65,
0,
88,
0,
69,
0,
78,
0,
32,
0,
85,
0,
78,
0,
68,
0,
32,
0,
87,
0,
65,
0,
84,
0,
83,
0,
67,
0,
72,
0,
69,
0,
78,
0,
32,
0,
68,
0,
69,
0,
82,
0,
32,
0,
66,
0,
76,
0,
73,
0,
78,
0,
75,
0,
69,
0,
78,
0,
76,
0,
73,
0,
67,
0,
72,
0,
84,
0,
69,
0,
78,
0,
46
)
val utf8Buffer =
byteBufferOf(
0,
0,
1,
-118,
58,
32,
65,
67,
72,
84,
85,
78,
71,
33,
10,
65,
76,
76,
69,
83,
32,
84,
85,
82,
73,
83,
84,
69,
78,
32,
85,
78,
68,
32,
78,
79,
78,
84,
69,
75,
78,
73,
83,
67,
72,
69,
78,
32,
76,
79,
79,
75,
69,
78,
80,
69,
69,
80,
69,
82,
83,
33,
10,
68,
65,
83,
32,
75,
79,
77,
80,
85,
84,
69,
82,
77,
65,
83,
67,
72,
73,
78,
69,
32,
73,
83,
84,
32,
78,
73,
67,
72,
84,
32,
70,
-61,
-100,
82,
32,
68,
69,
82,
32,
71,
69,
70,
73,
78,
71,
69,
82,
80,
79,
75,
69,
78,
32,
85,
78,
68,
32,
77,
73,
84,
84,
69,
78,
71,
82,
65,
66,
69,
78,
33,
32,
79,
68,
69,
82,
87,
73,
83,
69,
32,
73,
83,
84,
32,
69,
65,
83,
89,
32,
84,
79,
32,
83,
67,
72,
78,
65,
80,
80,
69,
78,
32,
68,
69,
82,
32,
83,
80,
82,
73,
78,
71,
69,
78,
87,
69,
82,
75,
44,
32,
66,
76,
79,
87,
69,
78,
70,
85,
83,
69,
78,
32,
85,
78,
68,
32,
80,
79,
80,
80,
69,
78,
67,
79,
82,
75,
69,
78,
32,
77,
73,
84,
32,
83,
80,
73,
84,
90,
69,
78,
83,
80,
65,
82,
75,
69,
78,
46,
10,
73,
83,
84,
32,
78,
73,
67,
72,
84,
32,
70,
-61,
-100,
82,
32,
71,
69,
87,
69,
82,
75,
69,
78,
32,
66,
69,
73,
32,
68,
85,
77,
77,
75,
79,
80,
70,
69,
78,
46,
32,
68,
69,
82,
32,
82,
85,
66,
66,
69,
82,
78,
69,
67,
75,
69,
78,
32,
83,
73,
71,
72,
84,
83,
69,
69,
82,
69,
78,
32,
75,
69,
69,
80,
69,
78,
32,
68,
65,
83,
32,
67,
79,
84,
84,
79,
78,
80,
73,
67,
75,
69,
78,
32,
72,
-61,
-124,
78,
68,
69,
82,
32,
73,
78,
32,
68,
65,
83,
32,
80,
79,
67,
75,
69,
84,
83,
32,
77,
85,
83,
83,
46,
10,
90,
79,
32,
82,
69,
76,
65,
88,
69,
78,
32,
85,
78,
68,
32,
87,
65,
84,
83,
67,
72,
69,
78,
32,
68,
69,
82,
32,
66,
76,
73,
78,
75,
69,
78,
76,
73,
67,
72,
84,
69,
78,
46,
)
val utf16Buffer =
byteBufferOf(
0,
0,
3,
14,
0,
58,
0,
32,
0,
65,
0,
67,
0,
72,
0,
84,
0,
85,
0,
78,
0,
71,
0,
33,
0,
10,
0,
65,
0,
76,
0,
76,
0,
69,
0,
83,
0,
32,
0,
84,
0,
85,
0,
82,
0,
73,
0,
83,
0,
84,
0,
69,
0,
78,
0,
32,
0,
85,
0,
78,
0,
68,
0,
32,
0,
78,
0,
79,
0,
78,
0,
84,
0,
69,
0,
75,
0,
78,
0,
73,
0,
83,
0,
67,
0,
72,
0,
69,
0,
78,
0,
32,
0,
76,
0,
79,
0,
79,
0,
75,
0,
69,
0,
78,
0,
80,
0,
69,
0,
69,
0,
80,
0,
69,
0,
82,
0,
83,
0,
33,
0,
10,
0,
68,
0,
65,
0,
83,
0,
32,
0,
75,
0,
79,
0,
77,
0,
80,
0,
85,
0,
84,
0,
69,
0,
82,
0,
77,
0,
65,
0,
83,
0,
67,
0,
72,
0,
73,
0,
78,
0,
69,
0,
32,
0,
73,
0,
83,
0,
84,
0,
32,
0,
78,
0,
73,
0,
67,
0,
72,
0,
84,
0,
32,
0,
70,
0,
-36,
0,
82,
0,
32,
0,
68,
0,
69,
0,
82,
0,
32,
0,
71,
0,
69,
0,
70,
0,
73,
0,
78,
0,
71,
0,
69,
0,
82,
0,
80,
0,
79,
0,
75,
0,
69,
0,
78,
0,
32,
0,
85,
0,
78,
0,
68,
0,
32,
0,
77,
0,
73,
0,
84,
0,
84,
0,
69,
0,
78,
0,
71,
0,
82,
0,
65,
0,
66,
0,
69,
0,
78,
0,
33,
0,
32,
0,
79,
0,
68,
0,
69,
0,
82,
0,
87,
0,
73,
0,
83,
0,
69,
0,
32,
0,
73,
0,
83,
0,
84,
0,
32,
0,
69,
0,
65,
0,
83,
0,
89,
0,
32,
0,
84,
0,
79,
0,
32,
0,
83,
0,
67,
0,
72,
0,
78,
0,
65,
0,
80,
0,
80,
0,
69,
0,
78,
0,
32,
0,
68,
0,
69,
0,
82,
0,
32,
0,
83,
0,
80,
0,
82,
0,
73,
0,
78,
0,
71,
0,
69,
0,
78,
0,
87,
0,
69,
0,
82,
0,
75,
0,
44,
0,
32,
0,
66,
0,
76,
0,
79,
0,
87,
0,
69,
0,
78,
0,
70,
0,
85,
0,
83,
0,
69,
0,
78,
0,
32,
0,
85,
0,
78,
0,
68,
0,
32,
0,
80,
0,
79,
0,
80,
0,
80,
0,
69,
0,
78,
0,
67,
0,
79,
0,
82,
0,
75,
0,
69,
0,
78,
0,
32,
0,
77,
0,
73,
0,
84,
0,
32,
0,
83,
0,
80,
0,
73,
0,
84,
0,
90,
0,
69,
0,
78,
0,
83,
0,
80,
0,
65,
0,
82,
0,
75,
0,
69,
0,
78,
0,
46,
0,
10,
0,
73,
0,
83,
0,
84,
0,
32,
0,
78,
0,
73,
0,
67,
0,
72,
0,
84,
0,
32,
0,
70,
0,
-36,
0,
82,
0,
32,
0,
71,
0,
69,
0,
87,
0,
69,
0,
82,
0,
75,
0,
69,
0,
78,
0,
32,
0,
66,
0,
69,
0,
73,
0,
32,
0,
68,
0,
85,
0,
77,
0,
77,
0,
75,
0,
79,
0,
80,
0,
70,
0,
69,
0,
78,
0,
46,
0,
32,
0,
68,
0,
69,
0,
82,
0,
32,
0,
82,
0,
85,
0,
66,
0,
66,
0,
69,
0,
82,
0,
78,
0,
69,
0,
67,
0,
75,
0,
69,
0,
78,
0,
32,
0,
83,
0,
73,
0,
71,
0,
72,
0,
84,
0,
83,
0,
69,
0,
69,
0,
82,
0,
69,
0,
78,
0,
32,
0,
75,
0,
69,
0,
69,
0,
80,
0,
69,
0,
78,
0,
32,
0,
68,
0,
65,
0,
83,
0,
32,
0,
67,
0,
79,
0,
84,
0,
84,
0,
79,
0,
78,
0,
80,
0,
73,
0,
67,
0,
75,
0,
69,
0,
78,
0,
32,
0,
72,
0,
-60,
0,
78,
0,
68,
0,
69,
0,
82,
0,
32,
0,
73,
0,
78,
0,
32,
0,
68,
0,
65,
0,
83,
0,
32,
0,
80,
0,
79,
0,
67,
0,
75,
0,
69,
0,
84,
0,
83,
0,
32,
0,
77,
0,
85,
0,
83,
0,
83,
0,
46,
0,
10,
0,
90,
0,
79,
0,
32,
0,
82,
0,
69,
0,
76,
0,
65,
0,
88,
0,
69,
0,
78,
0,
32,
0,
85,
0,
78,
0,
68,
0,
32,
0,
87,
0,
65,
0,
84,
0,
83,
0,
67,
0,
72,
0,
69,
0,
78,
0,
32,
0,
68,
0,
69,
0,
82,
0,
32,
0,
66,
0,
76,
0,
73,
0,
78,
0,
75,
0,
69,
0,
78,
0,
76,
0,
73,
0,
67,
0,
72,
0,
84,
0,
69,
0,
78,
0,
46,
)
assertEquals(value, StringSerializerUtf8.deserialize(utf8Buffer, FeatureSet.all()))
assertEquals(value, StringSerializerUtf16.deserialize(utf16Buffer, FeatureSet.all()))
......
......@@ -26,30 +26,34 @@ class UByteSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
UByteSerializer,
0.toUByte(),
byteBufferOf(0)
)
fun testZero() =
primitiveSerializerTest(
UByteSerializer,
0.toUByte(),
byteBufferOf(0),
)
@Test
fun testMinimal() = primitiveSerializerTest(
UByteSerializer,
UByte.MIN_VALUE,
byteBufferOf(0)
)
fun testMinimal() =
primitiveSerializerTest(
UByteSerializer,
UByte.MIN_VALUE,
byteBufferOf(0),
)
@Test
fun testMaximal() = primitiveSerializerTest(
UByteSerializer,
UByte.MAX_VALUE,
byteBufferOf(255u)
)
fun testMaximal() =
primitiveSerializerTest(
UByteSerializer,
UByte.MAX_VALUE,
byteBufferOf(255u),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
UByteSerializer,
0.toUByte().inv(),
byteBufferOf(255u)
)
fun testAllOnes() =
primitiveSerializerTest(
UByteSerializer,
0.toUByte().inv(),
byteBufferOf(255u),
)
}
......@@ -26,30 +26,34 @@ class UIntSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
UIntSerializer,
0.toUInt(),
byteBufferOf(0, 0, 0, 0)
)
fun testZero() =
primitiveSerializerTest(
UIntSerializer,
0.toUInt(),
byteBufferOf(0, 0, 0, 0),
)
@Test
fun testMinimal() = primitiveSerializerTest(
UIntSerializer,
UInt.MIN_VALUE,
byteBufferOf(0, 0, 0, 0)
)
fun testMinimal() =
primitiveSerializerTest(
UIntSerializer,
UInt.MIN_VALUE,
byteBufferOf(0, 0, 0, 0),
)
@Test
fun testMaximal() = primitiveSerializerTest(
UIntSerializer,
UInt.MAX_VALUE,
byteBufferOf(255u, 255u, 255u, 255u)
)
fun testMaximal() =
primitiveSerializerTest(
UIntSerializer,
UInt.MAX_VALUE,
byteBufferOf(255u, 255u, 255u, 255u),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
UIntSerializer,
0.toUInt().inv(),
byteBufferOf(255u, 255u, 255u, 255u)
)
fun testAllOnes() =
primitiveSerializerTest(
UIntSerializer,
0.toUInt().inv(),
byteBufferOf(255u, 255u, 255u, 255u),
)
}
......@@ -26,30 +26,34 @@ class ULongSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
ULongSerializer,
0.toULong(),
byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0)
)
fun testZero() =
primitiveSerializerTest(
ULongSerializer,
0.toULong(),
byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0),
)
@Test
fun testMinimal() = primitiveSerializerTest(
ULongSerializer,
ULong.MIN_VALUE,
byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0)
)
fun testMinimal() =
primitiveSerializerTest(
ULongSerializer,
ULong.MIN_VALUE,
byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0),
)
@Test
fun testMaximal() = primitiveSerializerTest(
ULongSerializer,
ULong.MAX_VALUE,
byteBufferOf(255u, 255u, 255u, 255u, 255u, 255u, 255u, 255u)
)
fun testMaximal() =
primitiveSerializerTest(
ULongSerializer,
ULong.MAX_VALUE,
byteBufferOf(255u, 255u, 255u, 255u, 255u, 255u, 255u, 255u),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
ULongSerializer,
0.toULong().inv(),
byteBufferOf(255u, 255u, 255u, 255u, 255u, 255u, 255u, 255u)
)
fun testAllOnes() =
primitiveSerializerTest(
ULongSerializer,
0.toULong().inv(),
byteBufferOf(255u, 255u, 255u, 255u, 255u, 255u, 255u, 255u),
)
}
......@@ -26,30 +26,34 @@ class UShortSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
UShortSerializer,
0.toUShort(),
byteBufferOf(0, 0)
)
fun testZero() =
primitiveSerializerTest(
UShortSerializer,
0.toUShort(),
byteBufferOf(0, 0),
)
@Test
fun testMinimal() = primitiveSerializerTest(
UShortSerializer,
UShort.MIN_VALUE,
byteBufferOf(0, 0)
)
fun testMinimal() =
primitiveSerializerTest(
UShortSerializer,
UShort.MIN_VALUE,
byteBufferOf(0, 0),
)
@Test
fun testMaximal() = primitiveSerializerTest(
UShortSerializer,
UShort.MAX_VALUE,
byteBufferOf(255u, 255u)
)
fun testMaximal() =
primitiveSerializerTest(
UShortSerializer,
UShort.MAX_VALUE,
byteBufferOf(255u, 255u),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
UShortSerializer,
0.toUShort().inv(),
byteBufferOf(255u, 255u)
)
fun testAllOnes() =
primitiveSerializerTest(
UShortSerializer,
0.toUShort().inv(),
byteBufferOf(255u, 255u),
)
}
......@@ -27,11 +27,12 @@ class UuidSerializerTest {
}
@Test
fun testSimple() = primitiveSerializerTest(
UuidSerializer,
UUID.fromString("e4335bb0-ceef-4b9f-8ceb-be19b4da34fd"),
byteBufferOf(
0xE4u, 0x33u, 0x5Bu, 0xB0u, 0xCEu, 0xEFu, 0x4Bu, 0x9Fu, 0x8Cu, 0xEBu, 0xBEu, 0x19u, 0xB4u, 0xDAu, 0x34u, 0xFDu,
fun testSimple() =
primitiveSerializerTest(
UuidSerializer,
UUID.fromString("e4335bb0-ceef-4b9f-8ceb-be19b4da34fd"),
byteBufferOf(
0xE4u, 0x33u, 0x5Bu, 0xB0u, 0xCEu, 0xEFu, 0x4Bu, 0x9Fu, 0x8Cu, 0xEBu, 0xBEu, 0x19u, 0xB4u, 0xDAu, 0x34u, 0xFDu,
),
)
)
}
......@@ -26,9 +26,10 @@ class VoidSerializerTest {
}
@Test
fun test() = primitiveSerializerTest(
VoidSerializer,
Unit,
byteBufferOf()
)
fun test() =
primitiveSerializerTest(
VoidSerializer,
Unit,
byteBufferOf(),
)
}
......@@ -17,7 +17,7 @@ import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test
@Tag("QuasselSerializerTest")
class BufferIdSerializerTest {
class BufferModelIdSerializerTest {
@Test
fun testIsRegistered() {
assertEquals(
......@@ -27,30 +27,34 @@ class BufferIdSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
BufferIdSerializer,
BufferId(0),
byteBufferOf(0, 0, 0, 0)
)
fun testZero() =
primitiveSerializerTest(
BufferIdSerializer,
BufferId(0),
byteBufferOf(0, 0, 0, 0),
)
@Test
fun testMinimal() = primitiveSerializerTest(
BufferIdSerializer,
BufferId.MIN_VALUE,
byteBufferOf(-128, 0, 0, 0)
)
fun testMinimal() =
primitiveSerializerTest(
BufferIdSerializer,
BufferId.MIN_VALUE,
byteBufferOf(-128, 0, 0, 0),
)
@Test
fun testMaximal() = primitiveSerializerTest(
BufferIdSerializer,
BufferId.MAX_VALUE,
byteBufferOf(127, -1, -1, -1)
)
fun testMaximal() =
primitiveSerializerTest(
BufferIdSerializer,
BufferId.MAX_VALUE,
byteBufferOf(127, -1, -1, -1),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
BufferIdSerializer,
BufferId(0.inv()),
byteBufferOf(-1, -1, -1, -1)
)
fun testAllOnes() =
primitiveSerializerTest(
BufferIdSerializer,
BufferId(0.inv()),
byteBufferOf(-1, -1, -1, -1),
)
}
......@@ -22,7 +22,7 @@ import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test
@Tag("QuasselSerializerTest")
class BufferInfoSerializerTest {
class BufferModelInfoSerializerTest {
@Test
fun testIsRegistered() {
assertEquals(
......@@ -32,75 +32,77 @@ class BufferInfoSerializerTest {
}
@Test
fun testBaseCase() = primitiveSerializerTest(
BufferInfoSerializer,
BufferInfo(
BufferId(-1),
NetworkId(-1),
BufferType.none(),
-1,
""
),
byteBufferOf(
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x00u,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x00u,
0x00u,
0x00u
fun testBaseCase() =
primitiveSerializerTest(
BufferInfoSerializer,
BufferInfo(
BufferId(-1),
NetworkId(-1),
BufferType.none(),
-1,
"",
),
byteBufferOf(
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x00u,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x00u,
0x00u,
0x00u,
),
)
)
@Test
fun testNormal() = primitiveSerializerTest(
BufferInfoSerializer,
BufferInfo(
BufferId.MAX_VALUE,
NetworkId.MAX_VALUE,
BufferType.validValues(),
Int.MAX_VALUE,
"äẞ\u0000\uFFFF"
),
byteBufferOf(
127,
-1,
-1,
-1,
127,
-1,
-1,
-1,
0,
15,
127,
-1,
-1,
-1,
0,
0,
0,
9,
-61,
-92,
-31,
-70,
-98,
0,
-17,
-65,
-65
fun testNormal() =
primitiveSerializerTest(
BufferInfoSerializer,
BufferInfo(
BufferId.MAX_VALUE,
NetworkId.MAX_VALUE,
BufferType.validValues(),
Int.MAX_VALUE,
"äẞ\u0000\uFFFF",
),
byteBufferOf(
127,
-1,
-1,
-1,
127,
-1,
-1,
-1,
0,
15,
127,
-1,
-1,
-1,
0,
0,
0,
9,
-61,
-92,
-31,
-70,
-98,
0,
-17,
-65,
-65,
),
)
)
}
......@@ -27,25 +27,28 @@ class DccIpDetectionModeSerializerTest {
}
@Test
fun testAutomatic() = primitiveSerializerTest(
DccIpDetectionModeSerializer,
DccIpDetectionMode.Automatic,
byteBufferOf(0x00u)
)
fun testAutomatic() =
primitiveSerializerTest(
DccIpDetectionModeSerializer,
DccIpDetectionMode.Automatic,
byteBufferOf(0x00u),
)
@Test
fun testManual() = primitiveSerializerTest(
DccIpDetectionModeSerializer,
DccIpDetectionMode.Manual,
byteBufferOf(0x01u)
)
fun testManual() =
primitiveSerializerTest(
DccIpDetectionModeSerializer,
DccIpDetectionMode.Manual,
byteBufferOf(0x01u),
)
@Test
fun testNull() = primitiveSerializerTest(
DccIpDetectionModeSerializer,
null,
byteBufferOf(0x00u),
deserializeFeatureSet = null,
featureSets = emptyList(),
)
fun testNull() =
primitiveSerializerTest(
DccIpDetectionModeSerializer,
null,
byteBufferOf(0x00u),
deserializeFeatureSet = null,
featureSets = emptyList(),
)
}
......@@ -27,25 +27,28 @@ class DccPortSelectionModeSerializerTest {
}
@Test
fun testAutomatic() = primitiveSerializerTest(
DccPortSelectionModeSerializer,
DccPortSelectionMode.Automatic,
byteBufferOf(0x00u)
)
fun testAutomatic() =
primitiveSerializerTest(
DccPortSelectionModeSerializer,
DccPortSelectionMode.Automatic,
byteBufferOf(0x00u),
)
@Test
fun testManual() = primitiveSerializerTest(
DccPortSelectionModeSerializer,
DccPortSelectionMode.Manual,
byteBufferOf(0x01u)
)
fun testManual() =
primitiveSerializerTest(
DccPortSelectionModeSerializer,
DccPortSelectionMode.Manual,
byteBufferOf(0x01u),
)
@Test
fun testNull() = primitiveSerializerTest(
DccPortSelectionModeSerializer,
null,
byteBufferOf(0x00u),
deserializeFeatureSet = null,
featureSets = emptyList(),
)
fun testNull() =
primitiveSerializerTest(
DccPortSelectionModeSerializer,
null,
byteBufferOf(0x00u),
deserializeFeatureSet = null,
featureSets = emptyList(),
)
}
......@@ -27,30 +27,34 @@ class IdentityIdSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
IdentityIdSerializer,
IdentityId(0),
byteBufferOf(0, 0, 0, 0)
)
fun testZero() =
primitiveSerializerTest(
IdentityIdSerializer,
IdentityId(0),
byteBufferOf(0, 0, 0, 0),
)
@Test
fun testMinimal() = primitiveSerializerTest(
IdentityIdSerializer,
IdentityId.MIN_VALUE,
byteBufferOf(-128, 0, 0, 0)
)
fun testMinimal() =
primitiveSerializerTest(
IdentityIdSerializer,
IdentityId.MIN_VALUE,
byteBufferOf(-128, 0, 0, 0),
)
@Test
fun testMaximal() = primitiveSerializerTest(
IdentityIdSerializer,
IdentityId.MAX_VALUE,
byteBufferOf(127, -1, -1, -1)
)
fun testMaximal() =
primitiveSerializerTest(
IdentityIdSerializer,
IdentityId.MAX_VALUE,
byteBufferOf(127, -1, -1, -1),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
IdentityIdSerializer,
IdentityId(0.inv()),
byteBufferOf(-1, -1, -1, -1)
)
fun testAllOnes() =
primitiveSerializerTest(
IdentityIdSerializer,
IdentityId(0.inv()),
byteBufferOf(-1, -1, -1, -1),
)
}
......@@ -8,14 +8,11 @@
*/
package de.justjanne.libquassel.protocol.serializers.quassel
import de.justjanne.libquassel.protocol.models.ids.NetworkId
import de.justjanne.libquassel.protocol.models.network.IrcChannelDto
import de.justjanne.libquassel.protocol.models.types.QuasselType
import de.justjanne.libquassel.protocol.syncables.common.IrcChannel
import de.justjanne.libquassel.protocol.syncables.state.IrcChannelState
import de.justjanne.libquassel.protocol.serializers.PrimitiveSerializer
import de.justjanne.libquassel.protocol.testutil.byteBufferOf
import de.justjanne.libquassel.protocol.testutil.matchers.MapMatcher
import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest
import de.justjanne.libquassel.protocol.variant.QVariantMap
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test
......@@ -26,49 +23,33 @@ class IrcChannelSerializerTest {
fun testIsRegistered() {
assertEquals(
IrcChannelSerializer,
QuasselType.IrcChannel.serializer<QVariantMap>(),
QuasselType.IrcChannel.serializer<IrcChannelDto>(),
)
}
@Test
fun testEmptyMap() = primitiveSerializerTest(
IrcChannelSerializer,
emptyMap(),
byteBufferOf(
// no elements
0x00u, 0x00u, 0x00u, 0x00u,
),
featureSets = emptyList(),
serializeFeatureSet = null
)
@Test
fun testNormal() = primitiveSerializerTest(
IrcChannelSerializer,
IrcChannel(
state = IrcChannelState(
network = NetworkId(4),
name = "#quassel"
)
).toVariantMap(),
byteBufferOf(
0x00u, 0x00u, 0x00u, 0x06u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x6Eu, 0x00u, 0x61u, 0x00u, 0x6Du, 0x00u, 0x65u,
0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x23u, 0x00u, 0x71u, 0x00u, 0x75u, 0x00u,
0x61u, 0x00u, 0x73u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x6Cu, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x74u, 0x00u,
0x6Fu, 0x00u, 0x70u, 0x00u, 0x69u, 0x00u, 0x63u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x70u, 0x00u, 0x61u, 0x00u, 0x73u, 0x00u, 0x73u, 0x00u, 0x77u, 0x00u, 0x6Fu,
0x00u, 0x72u, 0x00u, 0x64u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x12u, 0x00u, 0x65u, 0x00u, 0x6Eu, 0x00u, 0x63u, 0x00u, 0x72u, 0x00u, 0x79u, 0x00u, 0x70u, 0x00u, 0x74u, 0x00u,
0x65u, 0x00u, 0x64u, 0x00u, 0x00u, 0x00u, 0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x43u, 0x00u,
0x68u, 0x00u, 0x61u, 0x00u, 0x6Eu, 0x00u, 0x4Du, 0x00u, 0x6Fu, 0x00u, 0x64u, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u,
0x00u, 0x00u, 0x08u, 0x00u, 0x00u, 0x00u, 0x00u, 0x04u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x41u, 0x00u, 0x00u,
0x00u, 0x08u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x42u, 0x00u, 0x00u, 0x00u,
0x08u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x43u, 0x00u, 0x00u, 0x00u, 0x08u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x44u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x55u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u,
0x00u, 0x4Du, 0x00u, 0x6Fu, 0x00u, 0x64u, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u,
),
matcher = ::MapMatcher
)
IrcChannelSerializer as PrimitiveSerializer<IrcChannelDto>,
IrcChannelDto(
name = "#quassel",
),
encoded = byteBufferOf(
0x00u, 0x00u, 0x00u, 0x06u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x6Eu, 0x00u, 0x61u, 0x00u, 0x6Du, 0x00u, 0x65u,
0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x23u, 0x00u, 0x71u, 0x00u, 0x75u, 0x00u,
0x61u, 0x00u, 0x73u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x6Cu, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x74u, 0x00u,
0x6Fu, 0x00u, 0x70u, 0x00u, 0x69u, 0x00u, 0x63u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x70u, 0x00u, 0x61u, 0x00u, 0x73u, 0x00u, 0x73u, 0x00u, 0x77u, 0x00u, 0x6Fu,
0x00u, 0x72u, 0x00u, 0x64u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x12u, 0x00u, 0x65u, 0x00u, 0x6Eu, 0x00u, 0x63u, 0x00u, 0x72u, 0x00u, 0x79u, 0x00u, 0x70u, 0x00u, 0x74u, 0x00u,
0x65u, 0x00u, 0x64u, 0x00u, 0x00u, 0x00u, 0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x43u, 0x00u,
0x68u, 0x00u, 0x61u, 0x00u, 0x6Eu, 0x00u, 0x4Du, 0x00u, 0x6Fu, 0x00u, 0x64u, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u,
0x00u, 0x00u, 0x08u, 0x00u, 0x00u, 0x00u, 0x00u, 0x04u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x41u, 0x00u, 0x00u,
0x00u, 0x08u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x42u, 0x00u, 0x00u, 0x00u,
0x08u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x43u, 0x00u, 0x00u, 0x00u, 0x08u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x44u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x55u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u,
0x00u, 0x4Du, 0x00u, 0x6Fu, 0x00u, 0x64u, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u,
),
)
}
......@@ -8,12 +8,9 @@
*/
package de.justjanne.libquassel.protocol.serializers.quassel
import de.justjanne.libquassel.protocol.models.ids.NetworkId
import de.justjanne.libquassel.protocol.models.network.IrcUserDto
import de.justjanne.libquassel.protocol.models.types.QuasselType
import de.justjanne.libquassel.protocol.syncables.common.IrcUser
import de.justjanne.libquassel.protocol.syncables.state.IrcUserState
import de.justjanne.libquassel.protocol.testutil.byteBufferOf
import de.justjanne.libquassel.protocol.testutil.matchers.MapMatcher
import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest
import de.justjanne.libquassel.protocol.variant.QVariantMap
import org.junit.jupiter.api.Assertions.assertEquals
......@@ -26,75 +23,60 @@ class IrcUserSerializerTest {
fun testIsRegistered() {
assertEquals(
IrcUserSerializer,
QuasselType.IrcUser.serializer<QVariantMap>(),
QuasselType.IrcUser.serializer<IrcUserDto>(),
)
}
@Test
fun testEmptyMap() = primitiveSerializerTest(
IrcUserSerializer,
emptyMap(),
byteBufferOf(
// no elements
0x00u, 0x00u, 0x00u, 0x00u,
),
featureSets = emptyList(),
serializeFeatureSet = null
)
@Test
fun testNormal() = primitiveSerializerTest(
IrcUserSerializer,
IrcUser(
state = IrcUserState(
network = NetworkId(4),
fun testNormal() =
primitiveSerializerTest(
IrcUserSerializer,
IrcUserDto(
nick = "AzureDiamond",
user = "~azure",
host = "127.0.0.1"
)
).toVariantMap(),
byteBufferOf(
0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x6Eu, 0x00u, 0x69u, 0x00u, 0x63u, 0x00u, 0x6Bu,
0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x18u, 0x00u, 0x41u, 0x00u, 0x7Au, 0x00u, 0x75u, 0x00u,
0x72u, 0x00u, 0x65u, 0x00u, 0x44u, 0x00u, 0x69u, 0x00u, 0x61u, 0x00u, 0x6Du, 0x00u, 0x6Fu, 0x00u, 0x6Eu, 0x00u,
0x64u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x75u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x00u, 0x00u,
0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x0Cu, 0x00u, 0x7Eu, 0x00u, 0x61u, 0x00u, 0x7Au, 0x00u, 0x75u, 0x00u, 0x72u,
0x00u, 0x65u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x68u, 0x00u, 0x6Fu, 0x00u, 0x73u, 0x00u, 0x74u, 0x00u, 0x00u,
0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x31u, 0x00u, 0x32u, 0x00u, 0x37u, 0x00u, 0x2Eu, 0x00u,
0x30u, 0x00u, 0x2Eu, 0x00u, 0x30u, 0x00u, 0x2Eu, 0x00u, 0x31u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x72u, 0x00u,
0x65u, 0x00u, 0x61u, 0x00u, 0x6Cu, 0x00u, 0x4Eu, 0x00u, 0x61u, 0x00u, 0x6Du, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u,
0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x0Eu, 0x00u, 0x61u, 0x00u, 0x63u, 0x00u, 0x63u,
0x00u, 0x6Fu, 0x00u, 0x75u, 0x00u, 0x6Eu, 0x00u, 0x74u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x61u, 0x00u, 0x77u, 0x00u, 0x61u, 0x00u, 0x79u, 0x00u, 0x00u, 0x00u,
0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x16u, 0x00u, 0x61u, 0x00u, 0x77u, 0x00u, 0x61u, 0x00u, 0x79u, 0x00u,
0x4Du, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u, 0x73u, 0x00u, 0x61u, 0x00u, 0x67u, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u,
0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x69u, 0x00u, 0x64u, 0x00u, 0x6Cu,
0x00u, 0x65u, 0x00u, 0x54u, 0x00u, 0x69u, 0x00u, 0x6Du, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x00u,
0x25u, 0x3Du, 0x8Cu, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x6Cu, 0x00u, 0x6Fu,
0x00u, 0x67u, 0x00u, 0x69u, 0x00u, 0x6Eu, 0x00u, 0x54u, 0x00u, 0x69u, 0x00u, 0x6Du, 0x00u, 0x65u, 0x00u, 0x00u,
0x00u, 0x10u, 0x00u, 0x00u, 0x25u, 0x3Du, 0x8Cu, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u, 0x00u, 0x0Cu,
0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x76u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x00u, 0x00u, 0x0Au,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x16u, 0x00u, 0x69u, 0x00u, 0x72u, 0x00u, 0x63u, 0x00u,
0x4Fu, 0x00u, 0x70u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x61u, 0x00u, 0x74u, 0x00u, 0x6Fu, 0x00u, 0x72u, 0x00u,
0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x1Eu, 0x00u, 0x6Cu, 0x00u, 0x61u,
0x00u, 0x73u, 0x00u, 0x74u, 0x00u, 0x41u, 0x00u, 0x77u, 0x00u, 0x61u, 0x00u, 0x79u, 0x00u, 0x4Du, 0x00u, 0x65u,
0x00u, 0x73u, 0x00u, 0x73u, 0x00u, 0x61u, 0x00u, 0x67u, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x26u, 0x00u, 0x6Cu, 0x00u, 0x61u, 0x00u, 0x73u, 0x00u, 0x74u, 0x00u,
0x41u, 0x00u, 0x77u, 0x00u, 0x61u, 0x00u, 0x79u, 0x00u, 0x4Du, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u, 0x73u, 0x00u,
0x61u, 0x00u, 0x67u, 0x00u, 0x65u, 0x00u, 0x54u, 0x00u, 0x69u, 0x00u, 0x6Du, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u,
0x10u, 0x00u, 0x00u, 0x25u, 0x3Du, 0x8Cu, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u, 0x00u, 0x22u, 0x00u,
0x77u, 0x00u, 0x68u, 0x00u, 0x6Fu, 0x00u, 0x69u, 0x00u, 0x73u, 0x00u, 0x53u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u,
0x76u, 0x00u, 0x69u, 0x00u, 0x63u, 0x00u, 0x65u, 0x00u, 0x52u, 0x00u, 0x65u, 0x00u, 0x70u, 0x00u, 0x6Cu, 0x00u,
0x79u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x73u,
0x00u, 0x75u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x48u, 0x00u, 0x6Fu, 0x00u, 0x73u, 0x00u, 0x74u,
0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x65u, 0x00u,
0x6Eu, 0x00u, 0x63u, 0x00u, 0x72u, 0x00u, 0x79u, 0x00u, 0x70u, 0x00u, 0x74u, 0x00u, 0x65u, 0x00u, 0x64u, 0x00u,
0x00u, 0x00u, 0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x63u, 0x00u, 0x68u, 0x00u, 0x61u, 0x00u,
0x6Eu, 0x00u, 0x6Eu, 0x00u, 0x65u, 0x00u, 0x6Cu, 0x00u, 0x73u, 0x00u, 0x00u, 0x00u, 0x0Bu, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x75u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x4Du,
0x00u, 0x6Fu, 0x00u, 0x64u, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u,
),
matcher = ::MapMatcher
)
host = "127.0.0.1",
),
byteBufferOf(
0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x6Eu, 0x00u, 0x69u, 0x00u, 0x63u, 0x00u, 0x6Bu,
0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x18u, 0x00u, 0x41u, 0x00u, 0x7Au, 0x00u, 0x75u, 0x00u,
0x72u, 0x00u, 0x65u, 0x00u, 0x44u, 0x00u, 0x69u, 0x00u, 0x61u, 0x00u, 0x6Du, 0x00u, 0x6Fu, 0x00u, 0x6Eu, 0x00u,
0x64u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x75u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x00u, 0x00u,
0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x0Cu, 0x00u, 0x7Eu, 0x00u, 0x61u, 0x00u, 0x7Au, 0x00u, 0x75u, 0x00u, 0x72u,
0x00u, 0x65u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x68u, 0x00u, 0x6Fu, 0x00u, 0x73u, 0x00u, 0x74u, 0x00u, 0x00u,
0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x31u, 0x00u, 0x32u, 0x00u, 0x37u, 0x00u, 0x2Eu, 0x00u,
0x30u, 0x00u, 0x2Eu, 0x00u, 0x30u, 0x00u, 0x2Eu, 0x00u, 0x31u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x72u, 0x00u,
0x65u, 0x00u, 0x61u, 0x00u, 0x6Cu, 0x00u, 0x4Eu, 0x00u, 0x61u, 0x00u, 0x6Du, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u,
0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x0Eu, 0x00u, 0x61u, 0x00u, 0x63u, 0x00u, 0x63u,
0x00u, 0x6Fu, 0x00u, 0x75u, 0x00u, 0x6Eu, 0x00u, 0x74u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x08u, 0x00u, 0x61u, 0x00u, 0x77u, 0x00u, 0x61u, 0x00u, 0x79u, 0x00u, 0x00u, 0x00u,
0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x16u, 0x00u, 0x61u, 0x00u, 0x77u, 0x00u, 0x61u, 0x00u, 0x79u, 0x00u,
0x4Du, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u, 0x73u, 0x00u, 0x61u, 0x00u, 0x67u, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u,
0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x69u, 0x00u, 0x64u, 0x00u, 0x6Cu,
0x00u, 0x65u, 0x00u, 0x54u, 0x00u, 0x69u, 0x00u, 0x6Du, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x00u,
0x25u, 0x3Du, 0x8Cu, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x6Cu, 0x00u, 0x6Fu,
0x00u, 0x67u, 0x00u, 0x69u, 0x00u, 0x6Eu, 0x00u, 0x54u, 0x00u, 0x69u, 0x00u, 0x6Du, 0x00u, 0x65u, 0x00u, 0x00u,
0x00u, 0x10u, 0x00u, 0x00u, 0x25u, 0x3Du, 0x8Cu, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u, 0x00u, 0x0Cu,
0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x76u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x00u, 0x00u, 0x0Au,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x16u, 0x00u, 0x69u, 0x00u, 0x72u, 0x00u, 0x63u, 0x00u,
0x4Fu, 0x00u, 0x70u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x61u, 0x00u, 0x74u, 0x00u, 0x6Fu, 0x00u, 0x72u, 0x00u,
0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x1Eu, 0x00u, 0x6Cu, 0x00u, 0x61u,
0x00u, 0x73u, 0x00u, 0x74u, 0x00u, 0x41u, 0x00u, 0x77u, 0x00u, 0x61u, 0x00u, 0x79u, 0x00u, 0x4Du, 0x00u, 0x65u,
0x00u, 0x73u, 0x00u, 0x73u, 0x00u, 0x61u, 0x00u, 0x67u, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x26u, 0x00u, 0x6Cu, 0x00u, 0x61u, 0x00u, 0x73u, 0x00u, 0x74u, 0x00u,
0x41u, 0x00u, 0x77u, 0x00u, 0x61u, 0x00u, 0x79u, 0x00u, 0x4Du, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u, 0x73u, 0x00u,
0x61u, 0x00u, 0x67u, 0x00u, 0x65u, 0x00u, 0x54u, 0x00u, 0x69u, 0x00u, 0x6Du, 0x00u, 0x65u, 0x00u, 0x00u, 0x00u,
0x10u, 0x00u, 0x00u, 0x25u, 0x3Du, 0x8Cu, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x00u, 0x00u, 0x00u, 0x22u, 0x00u,
0x77u, 0x00u, 0x68u, 0x00u, 0x6Fu, 0x00u, 0x69u, 0x00u, 0x73u, 0x00u, 0x53u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u,
0x76u, 0x00u, 0x69u, 0x00u, 0x63u, 0x00u, 0x65u, 0x00u, 0x52u, 0x00u, 0x65u, 0x00u, 0x70u, 0x00u, 0x6Cu, 0x00u,
0x79u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x73u,
0x00u, 0x75u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x48u, 0x00u, 0x6Fu, 0x00u, 0x73u, 0x00u, 0x74u,
0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x65u, 0x00u,
0x6Eu, 0x00u, 0x63u, 0x00u, 0x72u, 0x00u, 0x79u, 0x00u, 0x70u, 0x00u, 0x74u, 0x00u, 0x65u, 0x00u, 0x64u, 0x00u,
0x00u, 0x00u, 0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, 0x63u, 0x00u, 0x68u, 0x00u, 0x61u, 0x00u,
0x6Eu, 0x00u, 0x6Eu, 0x00u, 0x65u, 0x00u, 0x6Cu, 0x00u, 0x73u, 0x00u, 0x00u, 0x00u, 0x0Bu, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x12u, 0x00u, 0x75u, 0x00u, 0x73u, 0x00u, 0x65u, 0x00u, 0x72u, 0x00u, 0x4Du,
0x00u, 0x6Fu, 0x00u, 0x64u, 0x00u, 0x65u, 0x00u, 0x73u, 0x00u, 0x00u, 0x00u, 0x0Au, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u,
),
)
}
......@@ -39,357 +39,361 @@ class MessageSerializerTest {
}
@Test
fun testEmpty() = primitiveSerializerTest(
MessageSerializer,
Message(
MsgId(-1),
Instant.EPOCH,
MessageType.none(),
MessageFlag.none(),
BufferInfo(
BufferId(-1),
NetworkId(-1),
BufferType.none(),
-1,
null
fun testEmpty() =
primitiveSerializerTest(
MessageSerializer,
Message(
MsgId(-1),
Instant.EPOCH,
MessageType.none(),
MessageFlag.none(),
BufferInfo(
BufferId(-1),
NetworkId(-1),
BufferType.none(),
-1,
null,
),
"",
"",
"",
"",
"",
),
byteBufferOf(
// MsgId
0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Time
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
// Type
0x00u, 0x00u, 0x00u, 0x00u,
// Flags
0x00u,
// BufferId
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// NetworkId
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// BufferType
0x00u, 0x00u,
// GroupId
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Buffername
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Sender
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Prefixes
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// RealName
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// AvatarUrl
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Content
0xFFu, 0xFFu, 0xFFu, 0xFFu,
),
"",
"",
"",
"",
""
),
byteBufferOf(
// MsgId
0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Time
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
// Type
0x00u, 0x00u, 0x00u, 0x00u,
// Flags
0x00u,
// BufferId
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// NetworkId
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// BufferType
0x00u, 0x00u,
// GroupId
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Buffername
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Sender
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Prefixes
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// RealName
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// AvatarUrl
0xFFu, 0xFFu, 0xFFu, 0xFFu,
// Content
0xFFu, 0xFFu, 0xFFu, 0xFFu,
),
deserializeFeatureSet = FeatureSet.all(),
serializeFeatureSet = null
)
deserializeFeatureSet = FeatureSet.all(),
serializeFeatureSet = null,
)
@Test
fun testBaseCase() = primitiveSerializerTest(
MessageSerializer,
Message(
MsgId(-1),
Instant.EPOCH,
MessageType.none(),
MessageFlag.none(),
BufferInfo(
BufferId(-1),
NetworkId(-1),
BufferType.none(),
fun testBaseCase() =
primitiveSerializerTest(
MessageSerializer,
Message(
MsgId(-1),
Instant.EPOCH,
MessageType.none(),
MessageFlag.none(),
BufferInfo(
BufferId(-1),
NetworkId(-1),
BufferType.none(),
-1,
"",
),
"",
"",
"",
"",
"",
),
byteBufferOf(
-1,
-1,
-1,
-1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
0,
0,
-1,
-1,
-1,
-1,
""
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
),
"",
"",
"",
"",
""
),
byteBufferOf(
-1,
-1,
-1,
-1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
0,
0,
-1,
-1,
-1,
-1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
),
deserializeFeatureSet = FeatureSet.none(),
serializeFeatureSet = FeatureSet.none()
)
deserializeFeatureSet = FeatureSet.none(),
serializeFeatureSet = FeatureSet.none(),
)
@Test
fun testNormal() = primitiveSerializerTest(
MessageSerializer,
Message(
MsgId(Int.MAX_VALUE.toLong()),
Instant.ofEpochMilli(1524601750000),
MessageType.validValues(),
MessageFlag.validValues(),
BufferInfo(
BufferId.MAX_VALUE,
NetworkId.MAX_VALUE,
BufferType.validValues(),
Int.MAX_VALUE,
"äẞ\u0000\uFFFF"
fun testNormal() =
primitiveSerializerTest(
MessageSerializer,
Message(
MsgId(Int.MAX_VALUE.toLong()),
Instant.ofEpochMilli(1524601750000),
MessageType.validValues(),
MessageFlag.validValues(),
BufferInfo(
BufferId.MAX_VALUE,
NetworkId.MAX_VALUE,
BufferType.validValues(),
Int.MAX_VALUE,
"äẞ\u0000\uFFFF",
),
"äẞ\u0000\uFFFF",
"",
"",
"",
"äẞ\u0000\uFFFF",
),
"äẞ\u0000\uFFFF",
"",
"",
"",
"äẞ\u0000\uFFFF"
),
byteBufferOf(
127,
-1,
-1,
-1,
90,
-33,
-109,
-106,
0,
7,
-1,
-1,
-113,
127,
-1,
-1,
-1,
127,
-1,
-1,
-1,
0,
15,
127,
-1,
-1,
-1,
0,
0,
0,
9,
-61,
-92,
-31,
-70,
-98,
0,
-17,
-65,
-65,
0,
0,
0,
9,
-61,
-92,
-31,
-70,
-98,
0,
-17,
-65,
-65,
0,
0,
0,
9,
-61,
-92,
-31,
-70,
-98,
0,
-17,
-65,
-65
),
deserializeFeatureSet = FeatureSet.none(),
serializeFeatureSet = FeatureSet.none()
)
byteBufferOf(
127,
-1,
-1,
-1,
90,
-33,
-109,
-106,
0,
7,
-1,
-1,
-113,
127,
-1,
-1,
-1,
127,
-1,
-1,
-1,
0,
15,
127,
-1,
-1,
-1,
0,
0,
0,
9,
-61,
-92,
-31,
-70,
-98,
0,
-17,
-65,
-65,
0,
0,
0,
9,
-61,
-92,
-31,
-70,
-98,
0,
-17,
-65,
-65,
0,
0,
0,
9,
-61,
-92,
-31,
-70,
-98,
0,
-17,
-65,
-65,
),
deserializeFeatureSet = FeatureSet.none(),
serializeFeatureSet = FeatureSet.none(),
)
@Test
fun testExtreme() = primitiveSerializerTest(
MessageSerializer,
Message(
MsgId.MAX_VALUE,
Instant.ofEpochMilli(Int.MAX_VALUE * 10000L),
MessageType.validValues(),
MessageFlag.validValues(),
BufferInfo(
BufferId.MAX_VALUE,
NetworkId.MAX_VALUE,
BufferType.validValues(),
Int.MAX_VALUE,
"äẞ\u0000\uFFFF"
fun testExtreme() =
primitiveSerializerTest(
MessageSerializer,
Message(
MsgId.MAX_VALUE,
Instant.ofEpochMilli(Int.MAX_VALUE * 10000L),
MessageType.validValues(),
MessageFlag.validValues(),
BufferInfo(
BufferId.MAX_VALUE,
NetworkId.MAX_VALUE,
BufferType.validValues(),
Int.MAX_VALUE,
"äẞ\u0000\uFFFF",
),
"äẞ\u0000\uFFFF",
"äẞ\u0000\uFFFF",
"äẞ\u0000\uFFFF",
"äẞ\u0000\uFFFF",
"äẞ\u0000\uFFFF",
),
"äẞ\u0000\uFFFF",
"äẞ\u0000\uFFFF",
"äẞ\u0000\uFFFF",
"äẞ\u0000\uFFFF",
"äẞ\u0000\uFFFF"
),
byteBufferOf(
0x7Fu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x00u,
0x13u,
0x87u,
0xFFu,
0xFFu,
0xD8u,
0xF0u,
0x00u,
0x07u,
0xFFu,
0xFFu,
0x8Fu,
0x7Fu,
0xFFu,
0xFFu,
0xFFu,
0x7Fu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x0Fu,
0x7Fu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu
),
featureSets = listOf(FeatureSet.all()),
deserializeFeatureSet = FeatureSet.all(),
serializeFeatureSet = FeatureSet.all()
)
byteBufferOf(
0x7Fu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x00u,
0x13u,
0x87u,
0xFFu,
0xFFu,
0xD8u,
0xF0u,
0x00u,
0x07u,
0xFFu,
0xFFu,
0x8Fu,
0x7Fu,
0xFFu,
0xFFu,
0xFFu,
0x7Fu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x0Fu,
0x7Fu,
0xFFu,
0xFFu,
0xFFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
0x00u,
0x00u,
0x00u,
0x09u,
0xC3u,
0xA4u,
0xE1u,
0xBAu,
0x9Eu,
0x00u,
0xEFu,
0xBFu,
0xBFu,
),
featureSets = listOf(FeatureSet.all()),
deserializeFeatureSet = FeatureSet.all(),
serializeFeatureSet = FeatureSet.all(),
)
}
......@@ -28,34 +28,38 @@ class MsgIdSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
MsgIdSerializer,
MsgId(0),
byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0),
featureSets = listOf(FeatureSet.all())
)
fun testZero() =
primitiveSerializerTest(
MsgIdSerializer,
MsgId(0),
byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0),
featureSets = listOf(FeatureSet.all()),
)
@Test
fun testMinimal() = primitiveSerializerTest(
MsgIdSerializer,
MsgId.MIN_VALUE,
byteBufferOf(-128, 0, 0, 0, 0, 0, 0, 0),
featureSets = listOf(FeatureSet.all())
)
fun testMinimal() =
primitiveSerializerTest(
MsgIdSerializer,
MsgId.MIN_VALUE,
byteBufferOf(-128, 0, 0, 0, 0, 0, 0, 0),
featureSets = listOf(FeatureSet.all()),
)
@Test
fun testMaximal() = primitiveSerializerTest(
MsgIdSerializer,
MsgId.MAX_VALUE,
byteBufferOf(127, -1, -1, -1, -1, -1, -1, -1),
featureSets = listOf(FeatureSet.all())
)
fun testMaximal() =
primitiveSerializerTest(
MsgIdSerializer,
MsgId.MAX_VALUE,
byteBufferOf(127, -1, -1, -1, -1, -1, -1, -1),
featureSets = listOf(FeatureSet.all()),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
MsgIdSerializer,
MsgId(0.inv()),
byteBufferOf(-1, -1, -1, -1, -1, -1, -1, -1),
featureSets = listOf(FeatureSet.all())
)
fun testAllOnes() =
primitiveSerializerTest(
MsgIdSerializer,
MsgId(0.inv()),
byteBufferOf(-1, -1, -1, -1, -1, -1, -1, -1),
featureSets = listOf(FeatureSet.all()),
)
}
......@@ -27,30 +27,34 @@ class NetworkIdSerializerTest {
}
@Test
fun testZero() = primitiveSerializerTest(
NetworkIdSerializer,
NetworkId(0),
byteBufferOf(0, 0, 0, 0)
)
fun testZero() =
primitiveSerializerTest(
NetworkIdSerializer,
NetworkId(0),
byteBufferOf(0, 0, 0, 0),
)
@Test
fun testMinimal() = primitiveSerializerTest(
NetworkIdSerializer,
NetworkId.MIN_VALUE,
byteBufferOf(-128, 0, 0, 0)
)
fun testMinimal() =
primitiveSerializerTest(
NetworkIdSerializer,
NetworkId.MIN_VALUE,
byteBufferOf(-128, 0, 0, 0),
)
@Test
fun testMaximal() = primitiveSerializerTest(
NetworkIdSerializer,
NetworkId.MAX_VALUE,
byteBufferOf(127, -1, -1, -1)
)
fun testMaximal() =
primitiveSerializerTest(
NetworkIdSerializer,
NetworkId.MAX_VALUE,
byteBufferOf(127, -1, -1, -1),
)
@Test
fun testAllOnes() = primitiveSerializerTest(
NetworkIdSerializer,
NetworkId(0.inv()),
byteBufferOf(-1, -1, -1, -1)
)
fun testAllOnes() =
primitiveSerializerTest(
NetworkIdSerializer,
NetworkId(0.inv()),
byteBufferOf(-1, -1, -1, -1),
)
}