diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/ChainedByteBuffer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/ChainedByteBuffer.kt index d0b1726242284c794cc612157d104985ab2c1a62..c92022c794b7259311f6b598a5b0c69b69f7a3fb 100644 --- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/ChainedByteBuffer.kt +++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/ChainedByteBuffer.kt @@ -204,3 +204,11 @@ class ChainedByteBuffer( buffer.bufferList[index++].duplicate().flip() } } + +inline fun ChainedByteBuffer.use( + function: (ChainedByteBuffer) -> Unit +): ByteBuffer { + val buffer = ChainedByteBuffer() + function(buffer) + return buffer.toBuffer() +} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/handshake/ClientInitSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/handshake/ClientInitSerializerTest.kt index 30760330b53568c8c71077dce5ef318f8c55cc1b..3af0e4bfd63805b69cab3ea49bbd82c047f54632 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/handshake/ClientInitSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/handshake/ClientInitSerializerTest.kt @@ -29,7 +29,6 @@ import org.junit.jupiter.api.Test class ClientInitSerializerTest { @Test fun testSimple() = handshakeSerializerTest( - ClientInitSerializer, HandshakeMessage.ClientInit( clientVersion = "Quasseldroid test", buildDate = "Never", @@ -68,7 +67,6 @@ class ClientInitSerializerTest { @Test fun testRealistic() = handshakeSerializerTest( - ClientInitSerializer, HandshakeMessage.ClientInit( clientVersion = "Quasseldroid <a href=\"https://git.kuschku.de/justJanne/QuasselDroid-ng/commit/" + "b622ad63056b6054b06e09f8e1f1ef2b0c3aaf9a\">v1.3.3</a>", diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/BoolSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/BoolSerializerTest.kt index 02eff4c69692827a69cb8c15b22d74af4b2d25eb..21a99551c6201f10459d26e2b667cc7697afd2b9 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/BoolSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/BoolSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,14 +34,14 @@ class BoolSerializerTest { } @Test - fun testTrue() = qtSerializerTest( + fun testTrue() = primitiveSerializerTest( BoolSerializer, true, byteBufferOf(1) ) @Test - fun testFalse() = qtSerializerTest( + fun testFalse() = primitiveSerializerTest( BoolSerializer, false, byteBufferOf(0) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ByteBufferSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ByteBufferSerializerTest.kt index 89e14f82e3c545b61d78fb33dd77cc61cfb407ce..20917e596e2c744a6fe9c0667e8364d0bac15763 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ByteBufferSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ByteBufferSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import java.nio.ByteBuffer @@ -36,7 +36,7 @@ class ByteBufferSerializerTest { } @Test - fun testBaseCase() = qtSerializerTest( + fun testBaseCase() = primitiveSerializerTest( ByteBufferSerializer, byteBufferOf(0), byteBufferOf(0, 0, 0, 1, 0), @@ -44,7 +44,7 @@ class ByteBufferSerializerTest { ) @Test - fun testNormal() = qtSerializerTest( + fun testNormal() = primitiveSerializerTest( ByteBufferSerializer, byteBufferOf(1, 2, 3, 4, 5, 6, 7, 8, 9), byteBufferOf(0, 0, 0, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9), @@ -52,7 +52,7 @@ class ByteBufferSerializerTest { ) @Test - fun testEmpty() = qtSerializerTest( + fun testEmpty() = primitiveSerializerTest( ByteBufferSerializer, ByteBuffer.allocate(0), byteBufferOf(0, 0, 0, 0), @@ -61,7 +61,7 @@ class ByteBufferSerializerTest { @Test fun testNull() { - qtSerializerTest( + primitiveSerializerTest( ByteBufferSerializer, null, byteBufferOf(0, 0, 0, 0), @@ -69,7 +69,7 @@ class ByteBufferSerializerTest { serializeFeatureSet = null ) - qtSerializerTest( + primitiveSerializerTest( ByteBufferSerializer, null, byteBufferOf(-1, -1, -1, -1), diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ByteSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ByteSerializerTest.kt index 91d293f7d422e97715a8bed216d5f8076d1a68d0..28548e966f9cf15edac050a2a8fb6f010640d008 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ByteSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ByteSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import kotlin.experimental.inv @@ -35,28 +35,28 @@ class ByteSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( ByteSerializer, 0.toByte(), byteBufferOf(0) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( ByteSerializer, Byte.MIN_VALUE, byteBufferOf(-128) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( ByteSerializer, Byte.MAX_VALUE, byteBufferOf(127) ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( ByteSerializer, 0.toByte().inv(), byteBufferOf(-1) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/DoubleSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/DoubleSerializerTest.kt index 29ad800186cb5b0f36859e6ead573b1b3f10ae85..f3dc9afc086ae86d5b8efb9afef4b748720e4c18 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/DoubleSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/DoubleSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,42 +34,42 @@ class DoubleSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( DoubleSerializer, 0.0, byteBufferOf(0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( DoubleSerializer, Double.MIN_VALUE, byteBufferOf(0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x01u) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( DoubleSerializer, Double.MAX_VALUE, byteBufferOf(0x7Fu, 0xEFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu) ) @Test - fun testInfinityPositive() = qtSerializerTest( + fun testInfinityPositive() = primitiveSerializerTest( DoubleSerializer, Double.POSITIVE_INFINITY, byteBufferOf(0x7Fu, 0xF0u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u) ) @Test - fun testInfinityNegative() = qtSerializerTest( + fun testInfinityNegative() = primitiveSerializerTest( DoubleSerializer, Double.NEGATIVE_INFINITY, byteBufferOf(0xFFu, 0xF0u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u) ) @Test - fun testNotANumber() = qtSerializerTest( + fun testNotANumber() = primitiveSerializerTest( DoubleSerializer, Double.NaN, byteBufferOf(0x7Fu, 0xF8u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/FloatSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/FloatSerializerTest.kt index 942343e107113a44aa6bd874949671857672ee0f..7b6b445be4ce52ae51597b05387ae8c4687f5fc2 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/FloatSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/FloatSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,42 +34,42 @@ class FloatSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( FloatSerializer, 0f, byteBufferOf(0x00u, 0x00u, 0x00u, 0x00u) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( FloatSerializer, Float.MIN_VALUE, byteBufferOf(0x00u, 0x00u, 0x00u, 0x01u) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( FloatSerializer, Float.MAX_VALUE, byteBufferOf(0x7Fu, 0x7Fu, 0xFFu, 0xFFu) ) @Test - fun testInfinityPositive() = qtSerializerTest( + fun testInfinityPositive() = primitiveSerializerTest( FloatSerializer, Float.POSITIVE_INFINITY, byteBufferOf(0x7Fu, 0x80u, 0x00u, 0x00u) ) @Test - fun testInfinityNegative() = qtSerializerTest( + fun testInfinityNegative() = primitiveSerializerTest( FloatSerializer, Float.NEGATIVE_INFINITY, byteBufferOf(0xFFu, 0x80u, 0x00u, 0x00u) ) @Test - fun testNotANumber() = qtSerializerTest( + fun testNotANumber() = primitiveSerializerTest( FloatSerializer, Float.NaN, byteBufferOf(0x7Fu, 0xC0u, 0x00u, 0x00u) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/HandshakeMapSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/HandshakeMapSerializerTest.kt index 2add2ed98851288d993567e9d0e5eadb42cdb44f..108d4f544c8cc5c554784822cd25640b42c1efb9 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/HandshakeMapSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/HandshakeMapSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf import de.justjanne.libquassel.protocol.testutil.matchers.MapMatcher -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import de.justjanne.libquassel.protocol.variant.qVariant import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -36,14 +36,14 @@ class HandshakeMapSerializerTest { } @Test - fun testEmpty() = qtSerializerTest( + fun testEmpty() = primitiveSerializerTest( HandshakeMapSerializer, mapOf(), byteBufferOf(0, 0, 0, 0) ) @Test - fun testNormal() = qtSerializerTest( + fun testNormal() = primitiveSerializerTest( HandshakeMapSerializer, mapOf( "Username" to qVariant("AzureDiamond", QtType.QString), @@ -74,7 +74,7 @@ class HandshakeMapSerializerTest { ) @Test - fun testNullKey() = qtSerializerTest( + fun testNullKey() = primitiveSerializerTest( HandshakeMapSerializer, mapOf( "" to qVariant<String?>(null, QtType.QString) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/IntSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/IntSerializerTest.kt index 8deb51a49f5994b9b1e5c353e5eb09f7ef998693..913163533d98f43a7434cf905691952617c81cdb 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/IntSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/IntSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,28 +34,28 @@ class IntSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( IntSerializer, 0, byteBufferOf(0, 0, 0, 0) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( IntSerializer, Int.MIN_VALUE, byteBufferOf(-128, 0, 0, 0) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( IntSerializer, Int.MAX_VALUE, byteBufferOf(127, -1, -1, -1) ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( IntSerializer, 0.inv(), byteBufferOf(-1, -1, -1, -1) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/LongSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/LongSerializerTest.kt index 69f019141aca49f1704e54b0f4b93e8733c4a87e..ea5455a6d47002d3a30980b9f8a6be6233f91ee7 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/LongSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/LongSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,28 +34,28 @@ class LongSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( LongSerializer, 0L, byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( LongSerializer, Long.MIN_VALUE, byteBufferOf(-128, 0, 0, 0, 0, 0, 0, 0) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( LongSerializer, Long.MAX_VALUE, byteBufferOf(127, -1, -1, -1, -1, -1, -1, -1) ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( LongSerializer, 0L.inv(), byteBufferOf(-1, -1, -1, -1, -1, -1, -1, -1) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QCharSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QCharSerializerTest.kt index fa99dff9eff96acb8bb383801a9bd27315d3d5c5..4fa348e859d58e0af99b4ede03c56fdef84ab2b5 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QCharSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QCharSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf import de.justjanne.libquassel.protocol.testutil.matchers.BomMatcherChar -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -35,7 +35,7 @@ class QCharSerializerTest { } @Test - fun testNull() = qtSerializerTest( + fun testNull() = primitiveSerializerTest( QCharSerializer, '\u0000', byteBufferOf(0, 0), @@ -43,7 +43,7 @@ class QCharSerializerTest { ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( QCharSerializer, '\uFFFF', byteBufferOf(-1, -1), @@ -51,7 +51,7 @@ class QCharSerializerTest { ) @Test - fun testBOM1() = qtSerializerTest( + fun testBOM1() = primitiveSerializerTest( QCharSerializer, '\uFFFE', byteBufferOf(-1, -2), @@ -59,7 +59,7 @@ class QCharSerializerTest { ) @Test - fun testBOM2() = qtSerializerTest( + fun testBOM2() = primitiveSerializerTest( QCharSerializer, '\uFEFF', byteBufferOf(-2, -1), @@ -68,17 +68,17 @@ class QCharSerializerTest { @Test fun testAlphabet() { - for (value in 'a'..'z') qtSerializerTest( + for (value in 'a'..'z') primitiveSerializerTest( QCharSerializer, value, byteBufferOf(0, value.toByte()) ) - for (value in 'A'..'Z') qtSerializerTest( + for (value in 'A'..'Z') primitiveSerializerTest( QCharSerializer, value, byteBufferOf(0, value.toByte()) ) - for (value in '0'..'9') qtSerializerTest( + for (value in '0'..'9') primitiveSerializerTest( QCharSerializer, value, byteBufferOf(0, value.toByte()) @@ -87,7 +87,7 @@ class QCharSerializerTest { @Test fun testAlphabetExtended() { - for (value in listOf('ä', 'ö', 'ü', 'ß', 'æ', 'ø', 'µ')) qtSerializerTest( + for (value in listOf('ä', 'ö', 'ü', 'ß', 'æ', 'ø', 'µ')) primitiveSerializerTest( QCharSerializer, value ) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QDateSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QDateSerializerTest.kt index f5a2b9a76ef5aedae084bf377ff49f2b19aa64e4..02a3b23f21f45c36c18a671a8c11f92ac9dd1ab8 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QDateSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QDateSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf import de.justjanne.libquassel.protocol.testutil.matchers.TemporalMatcher -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import org.threeten.bp.LocalDate @@ -37,7 +37,7 @@ class QDateSerializerTest { } @Test - fun testEpoch() = qtSerializerTest( + fun testEpoch() = primitiveSerializerTest( QDateSerializer, LocalDate .of(1970, 1, 1), @@ -46,7 +46,7 @@ class QDateSerializerTest { ) @Test - fun testNormalCase() = qtSerializerTest( + fun testNormalCase() = primitiveSerializerTest( QDateSerializer, LocalDate .of(2019, Month.JANUARY, 15), diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QDateTimeSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QDateTimeSerializerTest.kt index 6aa5104ba1df65632c5261ff5ba19a6caa66801b..872359bc70c170eb657312152625eabdf07b3504 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QDateTimeSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QDateTimeSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf import de.justjanne.libquassel.protocol.testutil.matchers.TemporalMatcher -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows @@ -43,7 +43,7 @@ class QDateTimeSerializerTest { } @Test - fun testEpoch() = qtSerializerTest( + fun testEpoch() = primitiveSerializerTest( QDateTimeSerializer, Instant.EPOCH, byteBufferOf(0, 37, 61, -116, 0, 0, 0, 0, 2), @@ -51,7 +51,7 @@ class QDateTimeSerializerTest { ) @Test - fun testEpochAtTimezone() = qtSerializerTest( + fun testEpochAtTimezone() = primitiveSerializerTest( QDateTimeSerializer, Instant.EPOCH.atOffset(ZoneOffset.ofTotalSeconds(1234)), byteBufferOf(0x00u, 0x25u, 0x3Du, 0x8Cu, 0x00u, 0x12u, 0xD4u, 0x50u, 0x03u, 0x00u, 0x00u, 0x04u, 0xD2u), @@ -59,7 +59,7 @@ class QDateTimeSerializerTest { ) @Test - fun testEpochByCalendarAtTimezone() = qtSerializerTest( + fun testEpochByCalendarAtTimezone() = primitiveSerializerTest( QDateTimeSerializer, LocalDateTime .of(1970, 1, 1, 0, 0) @@ -70,7 +70,7 @@ class QDateTimeSerializerTest { ) @Test - fun testNormalCase() = qtSerializerTest( + fun testNormalCase() = primitiveSerializerTest( QDateTimeSerializer, LocalDateTime .of(2019, Month.JANUARY, 15, 20, 25) @@ -81,7 +81,7 @@ class QDateTimeSerializerTest { ) @Test - fun testLocalDateTime() = qtSerializerTest( + fun testLocalDateTime() = primitiveSerializerTest( QDateTimeSerializer, LocalDateTime .of(2019, Month.JANUARY, 15, 20, 25), @@ -90,7 +90,7 @@ class QDateTimeSerializerTest { ) @Test - fun testZonedDateTime() = qtSerializerTest( + fun testZonedDateTime() = primitiveSerializerTest( QDateTimeSerializer, LocalDateTime .of(2019, Month.JANUARY, 15, 20, 25) @@ -99,7 +99,7 @@ class QDateTimeSerializerTest { ) @Test - fun testUnknownDateTime() = qtSerializerTest( + fun testUnknownDateTime() = primitiveSerializerTest( QDateTimeSerializer, LocalDateTime .of(2019, Month.JANUARY, 15, 20, 25), @@ -108,7 +108,7 @@ class QDateTimeSerializerTest { ) @Test - fun testInvalidDateTime() = qtSerializerTest( + fun testInvalidDateTime() = primitiveSerializerTest( QDateTimeSerializer, LocalDateTime .of(2019, Month.JANUARY, 15, 20, 25), @@ -121,7 +121,7 @@ class QDateTimeSerializerTest { @Test fun testOldJavaDate() { assertThrows<IllegalArgumentException>("Unsupported Format: org.threeten.bp.chrono.JapaneseDate") { - qtSerializerTest( + primitiveSerializerTest( QDateTimeSerializer, JapaneseDate.now(), matcher = ::TemporalMatcher diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QTimeSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QTimeSerializerTest.kt index e7a3ffdc15afb2d2a0ba1760dfa8df2e1e6ae2ea..22a12aa29e89aba9f20b5c3e69afe917b898f8da 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QTimeSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QTimeSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf import de.justjanne.libquassel.protocol.testutil.matchers.TemporalMatcher -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import org.threeten.bp.LocalTime @@ -36,7 +36,7 @@ class QTimeSerializerTest { } @Test - fun testEpoch() = qtSerializerTest( + fun testEpoch() = primitiveSerializerTest( QTimeSerializer, LocalTime .of(0, 0), @@ -45,7 +45,7 @@ class QTimeSerializerTest { ) @Test - fun testNormalCase() = qtSerializerTest( + fun testNormalCase() = primitiveSerializerTest( QTimeSerializer, LocalTime .of(20, 25), diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantListSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantListSerializerTest.kt index ce824fcb23da889124a441dd75bb43fcb9e99a29..68cf64602a6232b77296dd3bcc9f2470ff5fbe2c 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantListSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantListSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import de.justjanne.libquassel.protocol.variant.QVariantList import de.justjanne.libquassel.protocol.variant.qVariant import org.junit.jupiter.api.Assertions.assertEquals @@ -36,14 +36,14 @@ class QVariantListSerializerTest { } @Test - fun testEmpty() = qtSerializerTest( + fun testEmpty() = primitiveSerializerTest( QVariantListSerializer, listOf(), byteBufferOf(0, 0, 0, 0) ) @Test - fun testNormal() = qtSerializerTest( + fun testNormal() = primitiveSerializerTest( QVariantListSerializer, listOf( qVariant("AzureDiamond", QtType.QString), diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantMapSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantMapSerializerTest.kt index 3a1715a5a178749d247515f124bbe823eb1076ea..5f3b816514d9a0eb6122a5fd24bca016d08bafd3 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantMapSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantMapSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf import de.justjanne.libquassel.protocol.testutil.matchers.MapMatcher -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import de.justjanne.libquassel.protocol.variant.QVariantMap import de.justjanne.libquassel.protocol.variant.qVariant import org.junit.jupiter.api.Assertions.assertEquals @@ -37,14 +37,14 @@ class QVariantMapSerializerTest { } @Test - fun testEmpty() = qtSerializerTest( + fun testEmpty() = primitiveSerializerTest( QVariantMapSerializer, mapOf(), byteBufferOf(0, 0, 0, 0) ) @Test - fun testNormal() = qtSerializerTest( + fun testNormal() = primitiveSerializerTest( QVariantMapSerializer, mapOf( "Username" to qVariant("AzureDiamond", QtType.QString), @@ -156,7 +156,7 @@ class QVariantMapSerializerTest { ) @Test - fun testNullKey() = qtSerializerTest( + fun testNullKey() = primitiveSerializerTest( QVariantMapSerializer, mapOf( "" to qVariant<String?>(null, QtType.QString) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantSerializerTest.kt index 13584d06ba9fa57404daa58887f7279bd1c592d1..832f9cc9e5a130e320f7bb0a143a00bd4039cc18 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/QVariantSerializerTest.kt @@ -18,10 +18,10 @@ */ package de.justjanne.libquassel.protocol.serializers.qt +import de.justjanne.libquassel.protocol.features.FeatureSet import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.serializers.NoSerializerForTypeException import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.deserialize import de.justjanne.libquassel.protocol.variant.QVariant_ import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -39,9 +39,9 @@ class QVariantSerializerTest { @Test fun testUnregisteredQtType() { assertThrows<NoSerializerForTypeException> { - deserialize( - QVariantSerializer, - byteBufferOf(0x00u, 0x00u, 0x01u, 0x00u, 0x00u) + QVariantSerializer.deserialize( + byteBufferOf(0x00u, 0x00u, 0x01u, 0x00u, 0x00u), + FeatureSet.all() ) } } @@ -49,9 +49,9 @@ class QVariantSerializerTest { @Test fun testUnknownQtType() { assertThrows<NoSerializerForTypeException> { - deserialize( - QVariantSerializer, - byteBufferOf(0x00u, 0xFFu, 0x00u, 0x00u, 0x00u) + QVariantSerializer.deserialize( + byteBufferOf(0x00u, 0xFFu, 0x00u, 0x00u, 0x00u), + FeatureSet.all() ) } } @@ -59,8 +59,7 @@ class QVariantSerializerTest { @Test fun testUnregisteredQuasselType() { assertThrows<NoSerializerForTypeException> { - deserialize( - QVariantSerializer, + QVariantSerializer.deserialize( byteBufferOf( // QtType 0x00u, 0x00u, 0x00u, 0x7Fu, @@ -68,7 +67,8 @@ class QVariantSerializerTest { 0x00u, // QuasselType length 0x00u, 0x00u, 0x00u, 0x00u, - ) + ), + FeatureSet.all() ) } } @@ -76,8 +76,7 @@ class QVariantSerializerTest { @Test fun testUnknownQuasselType() { assertThrows<NoSerializerForTypeException> { - deserialize( - QVariantSerializer, + QVariantSerializer.deserialize( byteBufferOf( // QtType 0x00u, 0x00u, 0x00u, 0x7Fu, @@ -87,7 +86,8 @@ class QVariantSerializerTest { 0x00u, 0x00u, 0x00u, 0x03u, // "foo" 0x66u, 0x6fu, 0x6fu - ) + ), + FeatureSet.all() ) } } diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ShortSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ShortSerializerTest.kt index 37bb3e5ab6f0e23d9691a7cdd18a57dfa9816cbc..ddd083390a85c0364e990fac9e3a8ecfddfc88ab 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ShortSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ShortSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import kotlin.experimental.inv @@ -35,28 +35,28 @@ class ShortSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( ShortSerializer, 0.toShort(), byteBufferOf(0, 0) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( ShortSerializer, Short.MIN_VALUE, byteBufferOf(-128, 0) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( ShortSerializer, Short.MAX_VALUE, byteBufferOf(127, -1) ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( ShortSerializer, 0.toShort().inv(), byteBufferOf(-1, -1) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/StringSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/StringSerializerTest.kt index acdccf8cccd7b104d0beb445384ee0be8584eafb..e89b2c94a757a7beee9c4c51c63654f9533f806e 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/StringSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/StringSerializerTest.kt @@ -18,13 +18,13 @@ */ package de.justjanne.libquassel.protocol.serializers.qt +import de.justjanne.libquassel.protocol.features.FeatureSet import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.deserialize import de.justjanne.libquassel.protocol.testutil.matchers.BomMatcherString import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher import de.justjanne.libquassel.protocol.testutil.testPrimitiveSerializerDirect -import de.justjanne.libquassel.protocol.testutil.testQtSerializerVariant +import de.justjanne.libquassel.protocol.testutil.testPrimitiveSerializerVariant import org.hamcrest.MatcherAssert.assertThat import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -45,16 +45,16 @@ class StringSerializerTest { if (!it.startsWith('#')) { testPrimitiveSerializerDirect(StringSerializerUtf8, it, matcher = BomMatcherString(it)) testPrimitiveSerializerDirect(StringSerializerUtf16, it, matcher = BomMatcherString(it)) - testQtSerializerVariant(QtType.QString, it, matcher = BomMatcherString(it)) + testPrimitiveSerializerVariant(QtType.QString, it, matcher = BomMatcherString(it)) val bufferUtf8 = StringSerializerUtf8.serializeRaw(it) testPrimitiveSerializerDirect(ByteBufferSerializer, bufferUtf8, matcher = ByteBufferMatcher(bufferUtf8)) - testQtSerializerVariant(QtType.QByteArray, bufferUtf8, matcher = ByteBufferMatcher(bufferUtf8)) + testPrimitiveSerializerVariant(QtType.QByteArray, bufferUtf8, matcher = ByteBufferMatcher(bufferUtf8)) assertEquals(it, StringSerializerUtf8.deserializeRaw(bufferUtf8.rewind())) val bufferUtf16 = StringSerializerUtf16.serializeRaw(it) testPrimitiveSerializerDirect(ByteBufferSerializer, bufferUtf16, matcher = ByteBufferMatcher(bufferUtf16)) - testQtSerializerVariant(QtType.QByteArray, bufferUtf16, matcher = ByteBufferMatcher(bufferUtf16)) + testPrimitiveSerializerVariant(QtType.QByteArray, bufferUtf16, matcher = ByteBufferMatcher(bufferUtf16)) assertThat(StringSerializerUtf16.deserializeRaw(bufferUtf16.rewind()), BomMatcherString(it)) } } @@ -79,7 +79,7 @@ class StringSerializerTest { val bufferAscii = StringSerializerAscii.serializeRaw(data) testPrimitiveSerializerDirect(ByteBufferSerializer, bufferAscii, matcher = ByteBufferMatcher(bufferAscii)) - testQtSerializerVariant(QtType.QByteArray, bufferAscii, matcher = ByteBufferMatcher(bufferAscii)) + testPrimitiveSerializerVariant(QtType.QByteArray, bufferAscii, matcher = ByteBufferMatcher(bufferAscii)) assertEquals(data, StringSerializerAscii.deserializeRaw(bufferAscii.rewind())) testUtf(data) @@ -1301,8 +1301,8 @@ class StringSerializerTest { 46 ) - assertEquals(value, deserialize(StringSerializerUtf8, utf8Buffer)) - assertEquals(value, deserialize(StringSerializerUtf16, utf16Buffer)) + assertEquals(value, StringSerializerUtf8.deserialize(utf8Buffer, FeatureSet.all())) + assertEquals(value, StringSerializerUtf16.deserialize(utf16Buffer, FeatureSet.all())) } @Test @@ -1313,7 +1313,7 @@ class StringSerializerTest { val bufferAscii = StringSerializerAscii.serializeRaw(data) testPrimitiveSerializerDirect(ByteBufferSerializer, bufferAscii, matcher = ByteBufferMatcher(bufferAscii)) - testQtSerializerVariant(QtType.QByteArray, bufferAscii, matcher = ByteBufferMatcher(bufferAscii)) + testPrimitiveSerializerVariant(QtType.QByteArray, bufferAscii, matcher = ByteBufferMatcher(bufferAscii)) assertEquals(data, StringSerializerAscii.deserializeRaw(bufferAscii.rewind())) } @@ -1322,15 +1322,15 @@ class StringSerializerTest { val bufferUtf8 = StringSerializerUtf8.serializeRaw(data) testPrimitiveSerializerDirect(ByteBufferSerializer, bufferUtf8, matcher = ByteBufferMatcher(bufferUtf8)) - testQtSerializerVariant(QtType.QByteArray, bufferUtf8, matcher = ByteBufferMatcher(bufferUtf8)) + testPrimitiveSerializerVariant(QtType.QByteArray, bufferUtf8, matcher = ByteBufferMatcher(bufferUtf8)) assertEquals(data, StringSerializerUtf8.deserializeRaw(bufferUtf8.rewind())) // testPrimitiveSerializerDirect(StringSerializerUtf16, data, matcher = BomMatcherString(data)) - // testQtSerializerVariant(StringSerializerUtf16, data, matcher = BomMatcherString(data)) + // testPrimitiveSerializerVariant(StringSerializerUtf16, data, matcher = BomMatcherString(data)) // val bufferUtf16 = StringSerializerUtf16.serializeRaw(data) // testPrimitiveSerializerDirect(ByteBufferSerializer, bufferUtf16, matcher = ByteBufferMatcher(bufferUtf16)) - // testQtSerializerVariant(ByteBufferSerializer, bufferUtf16, matcher = ByteBufferMatcher(bufferUtf16)) + // testPrimitiveSerializerVariant(ByteBufferSerializer, bufferUtf16, matcher = ByteBufferMatcher(bufferUtf16)) // assertEquals(data, StringSerializerUtf16.deserializeRaw(bufferUtf16.rewind())) } } diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UByteSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UByteSerializerTest.kt index ce5a2d76aae2ff806daf06f78819c8d6577e984f..7f388a60f70b031078911d8d3fcaff77466fcc79 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UByteSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UByteSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,28 +34,28 @@ class UByteSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( UByteSerializer, 0.toUByte(), byteBufferOf(0) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( UByteSerializer, UByte.MIN_VALUE, byteBufferOf(0) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( UByteSerializer, UByte.MAX_VALUE, byteBufferOf(255u) ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( UByteSerializer, 0.toUByte().inv(), byteBufferOf(255u) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UIntSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UIntSerializerTest.kt index 0bbae1cceeaa688fe121d7bd672c695aaec05ddc..843ca87030663daa72461f9125b60dfb63f4ac71 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UIntSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UIntSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,28 +34,28 @@ class UIntSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( UIntSerializer, 0.toUInt(), byteBufferOf(0, 0, 0, 0) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( UIntSerializer, UInt.MIN_VALUE, byteBufferOf(0, 0, 0, 0) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( UIntSerializer, UInt.MAX_VALUE, byteBufferOf(255u, 255u, 255u, 255u) ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( UIntSerializer, 0.toUInt().inv(), byteBufferOf(255u, 255u, 255u, 255u) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ULongSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ULongSerializerTest.kt index 714e57cc1a78adc6de1d938798a24f7a327119ec..071663b09d533d4611139bbe3e9999b87b54adce 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ULongSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/ULongSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,28 +34,28 @@ class ULongSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( ULongSerializer, 0.toULong(), byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( ULongSerializer, ULong.MIN_VALUE, byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( ULongSerializer, ULong.MAX_VALUE, byteBufferOf(255u, 255u, 255u, 255u, 255u, 255u, 255u, 255u) ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( ULongSerializer, 0.toULong().inv(), byteBufferOf(255u, 255u, 255u, 255u, 255u, 255u, 255u, 255u) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UShortSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UShortSerializerTest.kt index 121d451553b907e40b146ee803291337ed8acc99..0471334ce24b80d62ea806f40812ace45937fe31 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UShortSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/UShortSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,28 +34,28 @@ class UShortSerializerTest { } @Test - fun testZero() = qtSerializerTest( + fun testZero() = primitiveSerializerTest( UShortSerializer, 0.toUShort(), byteBufferOf(0, 0) ) @Test - fun testMinimal() = qtSerializerTest( + fun testMinimal() = primitiveSerializerTest( UShortSerializer, UShort.MIN_VALUE, byteBufferOf(0, 0) ) @Test - fun testMaximal() = qtSerializerTest( + fun testMaximal() = primitiveSerializerTest( UShortSerializer, UShort.MAX_VALUE, byteBufferOf(255u, 255u) ) @Test - fun testAllOnes() = qtSerializerTest( + fun testAllOnes() = primitiveSerializerTest( UShortSerializer, 0.toUShort().inv(), byteBufferOf(255u, 255u) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/VoidSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/VoidSerializerTest.kt index 78103b36f1ca7ed6898e8549c94c361ddcc44e72..cccac8525c09ebd885f9589c1e12190477b6a9d8 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/VoidSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/qt/VoidSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.qt import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.qtSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -34,7 +34,7 @@ class VoidSerializerTest { } @Test - fun test() = qtSerializerTest( + fun test() = primitiveSerializerTest( VoidSerializer, Unit, byteBufferOf() diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/BufferIdSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/BufferIdSerializerTest.kt index 8d2c3088c8f932de44cd2aaa405005d08727fed7..5a8ef9bab9144c72be1a07544c2893337c8a2cc3 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/BufferIdSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/BufferIdSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.quassel import de.justjanne.libquassel.protocol.models.ids.BufferId import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -35,28 +35,28 @@ class BufferIdSerializerTest { } @Test - fun testZero() = quasselSerializerTest( + fun testZero() = primitiveSerializerTest( BufferIdSerializer, BufferId(0), byteBufferOf(0, 0, 0, 0) ) @Test - fun testMinimal() = quasselSerializerTest( + fun testMinimal() = primitiveSerializerTest( BufferIdSerializer, BufferId.MIN_VALUE, byteBufferOf(-128, 0, 0, 0) ) @Test - fun testMaximal() = quasselSerializerTest( + fun testMaximal() = primitiveSerializerTest( BufferIdSerializer, BufferId.MAX_VALUE, byteBufferOf(127, -1, -1, -1) ) @Test - fun testAllOnes() = quasselSerializerTest( + fun testAllOnes() = primitiveSerializerTest( BufferIdSerializer, BufferId(0.inv()), byteBufferOf(-1, -1, -1, -1) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/BufferInfoSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/BufferInfoSerializerTest.kt index ecd3283bc3b48fa0d6862ca4e234d639c3c3cd96..7860f42d41cffa31ccb79cb353b282ed571445f5 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/BufferInfoSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/BufferInfoSerializerTest.kt @@ -26,7 +26,7 @@ import de.justjanne.libquassel.protocol.models.ids.BufferId import de.justjanne.libquassel.protocol.models.ids.NetworkId import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -40,7 +40,7 @@ class BufferInfoSerializerTest { } @Test - fun testBaseCase() = quasselSerializerTest( + fun testBaseCase() = primitiveSerializerTest( BufferInfoSerializer, BufferInfo( BufferId(-1), @@ -72,7 +72,7 @@ class BufferInfoSerializerTest { ) @Test - fun testNormal() = quasselSerializerTest( + fun testNormal() = primitiveSerializerTest( BufferInfoSerializer, BufferInfo( BufferId.MAX_VALUE, diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/DccIpDetectionModeSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/DccIpDetectionModeSerializerTest.kt index 3751192feac302e50913b38bc05b576f06d68d96..474287231a4cf71cf6b8f3188ad82885685e49fb 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/DccIpDetectionModeSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/DccIpDetectionModeSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.quassel import de.justjanne.libquassel.protocol.models.DccIpDetectionMode import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -35,21 +35,21 @@ class DccIpDetectionModeSerializerTest { } @Test - fun testAutomatic() = quasselSerializerTest( + fun testAutomatic() = primitiveSerializerTest( DccIpDetectionModeSerializer, DccIpDetectionMode.Automatic, byteBufferOf(0x00u) ) @Test - fun testManual() = quasselSerializerTest( + fun testManual() = primitiveSerializerTest( DccIpDetectionModeSerializer, DccIpDetectionMode.Manual, byteBufferOf(0x01u) ) @Test - fun testNull() = quasselSerializerTest( + fun testNull() = primitiveSerializerTest( DccIpDetectionModeSerializer, null, byteBufferOf(0x00u), diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/DccPortSelectionModeSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/DccPortSelectionModeSerializerTest.kt index 571d7db18fb44ba05ea3d926d96e1f342050107a..0d8dbc5ec078f944641ed9e2a1f0c288d65beb65 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/DccPortSelectionModeSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/DccPortSelectionModeSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.quassel import de.justjanne.libquassel.protocol.models.DccPortSelectionMode import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -35,21 +35,21 @@ class DccPortSelectionModeSerializerTest { } @Test - fun testAutomatic() = quasselSerializerTest( + fun testAutomatic() = primitiveSerializerTest( DccPortSelectionModeSerializer, DccPortSelectionMode.Automatic, byteBufferOf(0x00u) ) @Test - fun testManual() = quasselSerializerTest( + fun testManual() = primitiveSerializerTest( DccPortSelectionModeSerializer, DccPortSelectionMode.Manual, byteBufferOf(0x01u) ) @Test - fun testNull() = quasselSerializerTest( + fun testNull() = primitiveSerializerTest( DccPortSelectionModeSerializer, null, byteBufferOf(0x00u), diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/IdentityIdSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/IdentityIdSerializerTest.kt index 7f2eec3ca8a5dca363743bf40c82ed32143fffd4..2b2d56e7b84caa18aa6e37bbc5184c337ea1504e 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/IdentityIdSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/IdentityIdSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.quassel import de.justjanne.libquassel.protocol.models.ids.IdentityId import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -35,28 +35,28 @@ class IdentityIdSerializerTest { } @Test - fun testZero() = quasselSerializerTest( + fun testZero() = primitiveSerializerTest( IdentityIdSerializer, IdentityId(0), byteBufferOf(0, 0, 0, 0) ) @Test - fun testMinimal() = quasselSerializerTest( + fun testMinimal() = primitiveSerializerTest( IdentityIdSerializer, IdentityId.MIN_VALUE, byteBufferOf(-128, 0, 0, 0) ) @Test - fun testMaximal() = quasselSerializerTest( + fun testMaximal() = primitiveSerializerTest( IdentityIdSerializer, IdentityId.MAX_VALUE, byteBufferOf(127, -1, -1, -1) ) @Test - fun testAllOnes() = quasselSerializerTest( + fun testAllOnes() = primitiveSerializerTest( IdentityIdSerializer, IdentityId(0.inv()), byteBufferOf(-1, -1, -1, -1) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/MessageSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/MessageSerializerTest.kt index 66016ad7e07dab63b0f8e0ece6b1dad72aefee1e..e9d770dbccafa2a371e62e76871ac0a708ff561f 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/MessageSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/MessageSerializerTest.kt @@ -32,7 +32,7 @@ import de.justjanne.libquassel.protocol.models.ids.MsgId import de.justjanne.libquassel.protocol.models.ids.NetworkId import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import org.threeten.bp.Instant @@ -47,7 +47,7 @@ class MessageSerializerTest { } @Test - fun testEmpty() = quasselSerializerTest( + fun testEmpty() = primitiveSerializerTest( MessageSerializer, Message( MsgId(-1), @@ -102,7 +102,7 @@ class MessageSerializerTest { ) @Test - fun testBaseCase() = quasselSerializerTest( + fun testBaseCase() = primitiveSerializerTest( MessageSerializer, Message( MsgId(-1), @@ -168,7 +168,7 @@ class MessageSerializerTest { ) @Test - fun testNormal() = quasselSerializerTest( + fun testNormal() = primitiveSerializerTest( MessageSerializer, Message( MsgId(Int.MAX_VALUE.toLong()), @@ -261,7 +261,7 @@ class MessageSerializerTest { ) @Test - fun testExtreme() = quasselSerializerTest( + fun testExtreme() = primitiveSerializerTest( MessageSerializer, Message( MsgId.MAX_VALUE, diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/MsgIdSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/MsgIdSerializerTest.kt index 8407a42549af2cd471f714114b77ca6f349053d2..03b58bc6aaa137ff401bb3217bf1be0e7b34225d 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/MsgIdSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/MsgIdSerializerTest.kt @@ -22,7 +22,7 @@ import de.justjanne.libquassel.protocol.features.FeatureSet import de.justjanne.libquassel.protocol.models.ids.MsgId import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -36,7 +36,7 @@ class MsgIdSerializerTest { } @Test - fun testZero() = quasselSerializerTest( + fun testZero() = primitiveSerializerTest( MsgIdSerializer, MsgId(0), byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0), @@ -44,7 +44,7 @@ class MsgIdSerializerTest { ) @Test - fun testMinimal() = quasselSerializerTest( + fun testMinimal() = primitiveSerializerTest( MsgIdSerializer, MsgId.MIN_VALUE, byteBufferOf(-128, 0, 0, 0, 0, 0, 0, 0), @@ -52,7 +52,7 @@ class MsgIdSerializerTest { ) @Test - fun testMaximal() = quasselSerializerTest( + fun testMaximal() = primitiveSerializerTest( MsgIdSerializer, MsgId.MAX_VALUE, byteBufferOf(127, -1, -1, -1, -1, -1, -1, -1), @@ -60,7 +60,7 @@ class MsgIdSerializerTest { ) @Test - fun testAllOnes() = quasselSerializerTest( + fun testAllOnes() = primitiveSerializerTest( MsgIdSerializer, MsgId(0.inv()), byteBufferOf(-1, -1, -1, -1, -1, -1, -1, -1), diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/NetworkIdSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/NetworkIdSerializerTest.kt index 79edb0845a45c2bd8fae8ba65b55e8389bcabbc0..33e9f220eea4590c2ee84b1252b85eadbb02ac0e 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/NetworkIdSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/NetworkIdSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.quassel import de.justjanne.libquassel.protocol.models.ids.NetworkId import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -35,28 +35,28 @@ class NetworkIdSerializerTest { } @Test - fun testZero() = quasselSerializerTest( + fun testZero() = primitiveSerializerTest( NetworkIdSerializer, NetworkId(0), byteBufferOf(0, 0, 0, 0) ) @Test - fun testMinimal() = quasselSerializerTest( + fun testMinimal() = primitiveSerializerTest( NetworkIdSerializer, NetworkId.MIN_VALUE, byteBufferOf(-128, 0, 0, 0) ) @Test - fun testMaximal() = quasselSerializerTest( + fun testMaximal() = primitiveSerializerTest( NetworkIdSerializer, NetworkId.MAX_VALUE, byteBufferOf(127, -1, -1, -1) ) @Test - fun testAllOnes() = quasselSerializerTest( + fun testAllOnes() = primitiveSerializerTest( NetworkIdSerializer, NetworkId(0.inv()), byteBufferOf(-1, -1, -1, -1) diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/PeerPtrSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/PeerPtrSerializerTest.kt index a43539667c4535041465f405c9ae9bb6ff5832c1..9659e02b4f5cc3baf61d3eee1726d3ca7ee900e8 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/PeerPtrSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/PeerPtrSerializerTest.kt @@ -21,7 +21,7 @@ package de.justjanne.libquassel.protocol.serializers.quassel import de.justjanne.libquassel.protocol.features.FeatureSet import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -35,7 +35,7 @@ class PeerPtrSerializerTest { } @Test - fun testZero() = quasselSerializerTest( + fun testZero() = primitiveSerializerTest( PeerPtrSerializer, 0uL, byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0), @@ -43,7 +43,7 @@ class PeerPtrSerializerTest { ) @Test - fun testMinimal() = quasselSerializerTest( + fun testMinimal() = primitiveSerializerTest( PeerPtrSerializer, ULong.MIN_VALUE, byteBufferOf(0, 0, 0, 0, 0, 0, 0, 0), @@ -51,7 +51,7 @@ class PeerPtrSerializerTest { ) @Test - fun testMaximal() = quasselSerializerTest( + fun testMaximal() = primitiveSerializerTest( PeerPtrSerializer, ULong.MAX_VALUE, byteBufferOf(-1, -1, -1, -1, -1, -1, -1, -1), @@ -59,7 +59,7 @@ class PeerPtrSerializerTest { ) @Test - fun testAllOnes() = quasselSerializerTest( + fun testAllOnes() = primitiveSerializerTest( PeerPtrSerializer, 0uL.inv(), byteBufferOf(-1, -1, -1, -1, -1, -1, -1, -1), diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/QHostAddressSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/QHostAddressSerializerTest.kt index 794be1e5a0df82d3172b279c3562f56ce6372e86..d93835680288d13248e80156f7c5518751b5fff5 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/QHostAddressSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/serializers/quassel/QHostAddressSerializerTest.kt @@ -20,7 +20,7 @@ package de.justjanne.libquassel.protocol.serializers.quassel import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.testutil.byteBufferOf -import de.justjanne.libquassel.protocol.testutil.quasselSerializerTest +import de.justjanne.libquassel.protocol.testutil.primitiveSerializerTest import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import java.net.Inet4Address @@ -37,7 +37,7 @@ class QHostAddressSerializerTest { } @Test - fun testIpv4() = quasselSerializerTest( + fun testIpv4() = primitiveSerializerTest( QHostAddressSerializer, Inet4Address.getByAddress( byteArrayOf( @@ -51,7 +51,7 @@ class QHostAddressSerializerTest { ) @Test - fun testIpv6() = quasselSerializerTest( + fun testIpv6() = primitiveSerializerTest( QHostAddressSerializer, Inet6Address.getByAddress( ubyteArrayOf( diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/deserialize.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/deserialize.kt deleted file mode 100644 index a4f64c131999dfed506d0efec059e494d6c5a8ed..0000000000000000000000000000000000000000 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/deserialize.kt +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Quasseldroid - Quassel client for Android - * - * Copyright (c) 2021 Janne Mareike Koschinski - * Copyright (c) 2021 The Quassel Project - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3 as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.justjanne.libquassel.protocol.testutil - -import de.justjanne.libquassel.protocol.features.FeatureSet -import de.justjanne.libquassel.protocol.models.HandshakeMessage -import de.justjanne.libquassel.protocol.models.SignalProxyMessage -import de.justjanne.libquassel.protocol.serializers.HandshakeSerializer -import de.justjanne.libquassel.protocol.serializers.PrimitiveSerializer -import de.justjanne.libquassel.protocol.serializers.SignalProxySerializer -import de.justjanne.libquassel.protocol.serializers.qt.HandshakeMapSerializer -import de.justjanne.libquassel.protocol.serializers.qt.QVariantListSerializer -import org.hamcrest.Matcher -import org.hamcrest.MatcherAssert.assertThat -import org.junit.jupiter.api.Assertions.assertEquals -import java.nio.ByteBuffer - -fun <T> deserialize( - serializer: PrimitiveSerializer<T>, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -): T { - val result = serializer.deserialize(buffer, featureSet) - assertEquals(0, buffer.remaining()) - return result -} - -fun <T> testDeserialize( - serializer: PrimitiveSerializer<T>, - matcher: Matcher<in T>, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val after = deserialize(serializer, buffer, featureSet) - assertThat(after, matcher) -} - -fun <T> testDeserialize( - serializer: PrimitiveSerializer<T>, - data: T, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val after = deserialize(serializer, buffer, featureSet) - assertEquals(data, after) -} - -fun <T : HandshakeMessage> testDeserialize( - serializer: HandshakeSerializer<T>, - matcher: Matcher<in T>, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val map = deserialize(HandshakeMapSerializer, buffer, featureSet) - val after = serializer.deserialize(map) - assertThat(after, matcher) -} - -fun <T : HandshakeMessage> testDeserialize( - serializer: HandshakeSerializer<T>, - data: T, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val map = deserialize(HandshakeMapSerializer, buffer, featureSet) - val after = serializer.deserialize(map) - assertEquals(data, after) -} - -fun <T : SignalProxyMessage> testDeserialize( - serializer: SignalProxySerializer<T>, - matcher: Matcher<in T>, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val list = deserialize(QVariantListSerializer, buffer, featureSet) - val after = serializer.deserialize(list) - assertThat(after, matcher) -} - -fun <T : SignalProxyMessage> testDeserialize( - serializer: SignalProxySerializer<T>, - data: T, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val list = deserialize(QVariantListSerializer, buffer, featureSet) - val after = serializer.deserialize(list) - assertEquals(data, after) -} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/handshakeSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/handshakeSerializerTest.kt index 3e7c49f0cf0cadb1fba972126934ac06e793f10a..59e47afbc2f54b558cc694fdbd8e56157440772d 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/handshakeSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/handshakeSerializerTest.kt @@ -19,34 +19,53 @@ package de.justjanne.libquassel.protocol.testutil import de.justjanne.libquassel.protocol.features.FeatureSet +import de.justjanne.libquassel.protocol.io.ChainedByteBuffer +import de.justjanne.libquassel.protocol.io.use import de.justjanne.libquassel.protocol.models.HandshakeMessage -import de.justjanne.libquassel.protocol.serializers.HandshakeSerializer +import de.justjanne.libquassel.protocol.serializers.HandshakeMessageSerializer +import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher import org.hamcrest.Matcher +import org.hamcrest.MatcherAssert.assertThat import java.nio.ByteBuffer +import kotlin.test.assertEquals -fun <T : HandshakeMessage> handshakeSerializerTest( - serializer: HandshakeSerializer<T>, +inline fun <reified T : HandshakeMessage> handshakeSerializerTest( value: T, encoded: ByteBuffer? = null, - matcher: ((T) -> Matcher<T>)? = null, + noinline matcher: ((T?) -> Matcher<T?>)? = null, featureSets: List<FeatureSet> = listOf(FeatureSet.none(), FeatureSet.all()), deserializeFeatureSet: FeatureSet? = FeatureSet.all(), serializeFeatureSet: FeatureSet? = FeatureSet.all(), ) { if (encoded != null) { if (deserializeFeatureSet != null) { + val after = HandshakeMessageSerializer.deserialize(encoded, deserializeFeatureSet) as? T if (matcher != null) { - testDeserialize(serializer, matcher(value), encoded.rewind(), deserializeFeatureSet) + assertThat(after, matcher(value)) } else { - testDeserialize(serializer, value, encoded.rewind(), deserializeFeatureSet) + assertEquals(after, value) } } if (serializeFeatureSet != null) { - testSerialize(serializer, value, encoded.rewind(), serializeFeatureSet) + assertThat( + ChainedByteBuffer().use { + HandshakeMessageSerializer.serialize(it, value, serializeFeatureSet) + }, + ByteBufferMatcher(encoded.rewind()) + ) } } for (featureSet in featureSets) { - testHandshakeSerializerDirect(serializer, value) - testHandshakeSerializerEncoded(serializer, value, featureSet) + val after = HandshakeMessageSerializer.deserialize( + ChainedByteBuffer().use { + HandshakeMessageSerializer.serialize(it, value, featureSet) + }, + featureSet + ) as? T + if (matcher != null) { + assertThat(after, matcher(value)) + } else { + assertEquals(value, after) + } } } diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/quasselSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/primitiveSerializerTest.kt similarity index 57% rename from libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/quasselSerializerTest.kt rename to libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/primitiveSerializerTest.kt index effe9827d19a4ca6c2e00aaa30d83dd2fa5bc2c1..eefbafbdb28414556112033fdb262670187f2b95 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/quasselSerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/primitiveSerializerTest.kt @@ -19,12 +19,36 @@ package de.justjanne.libquassel.protocol.testutil import de.justjanne.libquassel.protocol.features.FeatureSet +import de.justjanne.libquassel.protocol.io.ChainedByteBuffer +import de.justjanne.libquassel.protocol.io.use +import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.serializers.PrimitiveSerializer +import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher import org.hamcrest.Matcher +import org.hamcrest.MatcherAssert.assertThat +import org.junit.jupiter.api.Assertions.assertEquals import java.nio.ByteBuffer -inline fun <reified T : Any?> quasselSerializerTest( +inline fun <reified T : Any?> primitiveSerializerTest( + type: QtType, + value: T, + encoded: ByteBuffer? = null, + noinline matcher: ((T) -> Matcher<T>)? = null, + featureSets: List<FeatureSet> = listOf(FeatureSet.none(), FeatureSet.all()), + deserializeFeatureSet: FeatureSet? = FeatureSet.all(), + serializeFeatureSet: FeatureSet? = FeatureSet.all(), +) = primitiveSerializerTest( + type.serializer(), + value, + encoded, + matcher, + featureSets, + deserializeFeatureSet, + serializeFeatureSet +) + +inline fun <reified T : Any?> primitiveSerializerTest( type: QuasselType, value: T, encoded: ByteBuffer? = null, @@ -32,26 +56,17 @@ inline fun <reified T : Any?> quasselSerializerTest( featureSets: List<FeatureSet> = listOf(FeatureSet.none(), FeatureSet.all()), deserializeFeatureSet: FeatureSet? = FeatureSet.all(), serializeFeatureSet: FeatureSet? = FeatureSet.all(), -) { - if (encoded != null) { - if (deserializeFeatureSet != null) { - if (matcher != null) { - testDeserialize(type.serializer<T>(), matcher(value), encoded.rewind(), deserializeFeatureSet) - } else { - testDeserialize(type.serializer(), value, encoded.rewind(), deserializeFeatureSet) - } - } - if (serializeFeatureSet != null) { - testSerialize(type.serializer(), value, encoded.rewind(), serializeFeatureSet) - } - } - for (featureSet in featureSets) { - testPrimitiveSerializerDirect(type.serializer(), value, featureSet, matcher?.invoke(value)) - testQuasselSerializerVariant(type, value, featureSet, matcher?.invoke(value)) - } -} +) = primitiveSerializerTest( + type.serializer(), + value, + encoded, + matcher, + featureSets, + deserializeFeatureSet, + serializeFeatureSet +) -inline fun <reified T : Any?> quasselSerializerTest( +inline fun <reified T : Any?> primitiveSerializerTest( serializer: PrimitiveSerializer<T>, value: T, encoded: ByteBuffer? = null, @@ -62,14 +77,19 @@ inline fun <reified T : Any?> quasselSerializerTest( ) { if (encoded != null) { if (deserializeFeatureSet != null) { + val after = serializer.deserialize(encoded.rewind(), deserializeFeatureSet) + assertEquals(0, encoded.remaining()) if (matcher != null) { - testDeserialize(serializer, matcher(value), encoded.rewind(), deserializeFeatureSet) + assertThat(after, matcher(value)) } else { - testDeserialize(serializer, value, encoded.rewind(), deserializeFeatureSet) + assertEquals(value, after) } } if (serializeFeatureSet != null) { - testSerialize(serializer, value, encoded.rewind(), serializeFeatureSet) + val after = ChainedByteBuffer().use { + serializer.serialize(it, value, serializeFeatureSet) + } + assertThat(after, ByteBufferMatcher(encoded.rewind())) } } for (featureSet in featureSets) { diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/qtSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/qtSerializerTest.kt deleted file mode 100644 index 73ea9f907c9592016563ce995f2b32b552cde7f4..0000000000000000000000000000000000000000 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/qtSerializerTest.kt +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Quasseldroid - Quassel client for Android - * - * Copyright (c) 2021 Janne Mareike Koschinski - * Copyright (c) 2021 The Quassel Project - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3 as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.justjanne.libquassel.protocol.testutil - -import de.justjanne.libquassel.protocol.features.FeatureSet -import de.justjanne.libquassel.protocol.models.types.QtType -import de.justjanne.libquassel.protocol.serializers.PrimitiveSerializer -import org.hamcrest.Matcher -import java.nio.ByteBuffer - -inline fun <reified T : Any?> qtSerializerTest( - type: QtType, - value: T, - encoded: ByteBuffer? = null, - noinline matcher: ((T) -> Matcher<T>)? = null, - featureSets: List<FeatureSet> = listOf(FeatureSet.none(), FeatureSet.all()), - deserializeFeatureSet: FeatureSet? = FeatureSet.all(), - serializeFeatureSet: FeatureSet? = FeatureSet.all(), -) { - if (encoded != null) { - if (deserializeFeatureSet != null) { - if (matcher != null) { - testDeserialize(type.serializer<T>(), matcher(value), encoded.rewind(), deserializeFeatureSet) - } else { - testDeserialize(type.serializer(), value, encoded.rewind(), deserializeFeatureSet) - } - } - if (serializeFeatureSet != null) { - testSerialize(type.serializer(), value, encoded.rewind(), serializeFeatureSet) - } - } - for (featureSet in featureSets) { - testPrimitiveSerializerDirect(type.serializer(), value, featureSet, matcher?.invoke(value)) - testQtSerializerVariant(type, value, featureSet, matcher?.invoke(value)) - } -} - -inline fun <reified T : Any?> qtSerializerTest( - serializer: PrimitiveSerializer<T>, - value: T, - encoded: ByteBuffer? = null, - noinline matcher: ((T) -> Matcher<T>)? = null, - featureSets: List<FeatureSet> = listOf(FeatureSet.none(), FeatureSet.all()), - deserializeFeatureSet: FeatureSet? = FeatureSet.all(), - serializeFeatureSet: FeatureSet? = FeatureSet.all(), -) { - if (encoded != null) { - if (deserializeFeatureSet != null) { - if (matcher != null) { - testDeserialize(serializer, matcher(value), encoded.rewind(), deserializeFeatureSet) - } else { - testDeserialize(serializer, value, encoded.rewind(), deserializeFeatureSet) - } - } - if (serializeFeatureSet != null) { - testSerialize(serializer, value, encoded.rewind(), serializeFeatureSet) - } - } - for (featureSet in featureSets) { - testPrimitiveSerializerDirect(serializer, value, featureSet, matcher?.invoke(value)) - } -} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serialize.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serialize.kt deleted file mode 100644 index c19cafe5d70dee2227e4108100571eddd8c66215..0000000000000000000000000000000000000000 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serialize.kt +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Quasseldroid - Quassel client for Android - * - * Copyright (c) 2021 Janne Mareike Koschinski - * Copyright (c) 2021 The Quassel Project - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3 as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.justjanne.libquassel.protocol.testutil - -import de.justjanne.libquassel.protocol.features.FeatureSet -import de.justjanne.libquassel.protocol.io.ChainedByteBuffer -import de.justjanne.libquassel.protocol.models.HandshakeMessage -import de.justjanne.libquassel.protocol.models.SignalProxyMessage -import de.justjanne.libquassel.protocol.serializers.HandshakeSerializer -import de.justjanne.libquassel.protocol.serializers.PrimitiveSerializer -import de.justjanne.libquassel.protocol.serializers.SignalProxySerializer -import de.justjanne.libquassel.protocol.serializers.qt.HandshakeMapSerializer -import de.justjanne.libquassel.protocol.serializers.qt.QVariantListSerializer -import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher -import org.hamcrest.MatcherAssert.assertThat -import java.nio.ByteBuffer - -fun <T> serialize( - serializer: PrimitiveSerializer<T>, - data: T, - featureSet: FeatureSet = FeatureSet.all() -): ByteBuffer { - val buffer = ChainedByteBuffer() - serializer.serialize(buffer, data, featureSet) - return buffer.toBuffer() -} - -fun <T> testSerialize( - serializer: PrimitiveSerializer<T>, - data: T, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val after = serialize(serializer, data, featureSet) - assertThat(after, ByteBufferMatcher(buffer)) -} - -fun <T : HandshakeMessage> testSerialize( - serializer: HandshakeSerializer<T>, - data: T, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val map = serializer.serialize(data) - val after = serialize(HandshakeMapSerializer, map, featureSet) - assertThat(after, ByteBufferMatcher(buffer)) -} - -fun <T : SignalProxyMessage> testSerialize( - serializer: SignalProxySerializer<T>, - data: T, - buffer: ByteBuffer, - featureSet: FeatureSet = FeatureSet.all() -) { - val list = serializer.serialize(data) - val after = serialize(QVariantListSerializer, list, featureSet) - assertThat(after, ByteBufferMatcher(buffer)) -} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serializerTest.kt index c14bece12beb743020d450f16386198d4f0a98f3..ff9231eac00e27561f64205a06b41ac3ee45678d 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serializerTest.kt @@ -19,8 +19,13 @@ package de.justjanne.libquassel.protocol.testutil import de.justjanne.libquassel.protocol.features.FeatureSet +import de.justjanne.libquassel.protocol.io.ChainedByteBuffer +import de.justjanne.libquassel.protocol.io.use import de.justjanne.libquassel.protocol.serializers.PrimitiveSerializer +import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher import org.hamcrest.Matcher +import org.hamcrest.MatcherAssert.assertThat +import org.junit.jupiter.api.Assertions.assertEquals import java.nio.ByteBuffer fun <T : Any?> serializerTest( @@ -33,14 +38,19 @@ fun <T : Any?> serializerTest( ) { if (encoded != null) { if (deserializeFeatureSet != null) { + val after = serializer.deserialize(encoded.rewind(), deserializeFeatureSet) + assertEquals(0, encoded.remaining()) if (matcher != null) { - testDeserialize(serializer, matcher(value), encoded.rewind(), deserializeFeatureSet) + assertThat(after, matcher(value)) } else { - testDeserialize(serializer, value, encoded.rewind(), deserializeFeatureSet) + assertEquals(value, after) } } if (serializeFeatureSet != null) { - testSerialize(serializer, value, encoded.rewind(), serializeFeatureSet) + val after = ChainedByteBuffer().use { + serializer.serialize(it, value, serializeFeatureSet) + } + assertThat(after, ByteBufferMatcher(encoded.rewind())) } } } diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/signalProxySerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/signalProxySerializerTest.kt index 0fa7c85e39b2f694b88feaceac63d5555c7737f9..08e0b835e542773a6d0da98918512a5d29946cd3 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/signalProxySerializerTest.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/signalProxySerializerTest.kt @@ -19,34 +19,53 @@ package de.justjanne.libquassel.protocol.testutil import de.justjanne.libquassel.protocol.features.FeatureSet +import de.justjanne.libquassel.protocol.io.ChainedByteBuffer +import de.justjanne.libquassel.protocol.io.use import de.justjanne.libquassel.protocol.models.SignalProxyMessage -import de.justjanne.libquassel.protocol.serializers.SignalProxySerializer +import de.justjanne.libquassel.protocol.serializers.SignalProxyMessageSerializer +import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher import org.hamcrest.Matcher +import org.hamcrest.MatcherAssert.assertThat import java.nio.ByteBuffer +import kotlin.test.assertEquals -fun <T : SignalProxyMessage> signalProxySerializerTest( - serializer: SignalProxySerializer<T>, +inline fun <reified T : SignalProxyMessage> signalProxySerializerTest( value: T, encoded: ByteBuffer? = null, - matcher: ((T) -> Matcher<T>)? = null, + noinline matcher: ((T?) -> Matcher<T?>)? = null, featureSets: List<FeatureSet> = listOf(FeatureSet.none(), FeatureSet.all()), deserializeFeatureSet: FeatureSet? = FeatureSet.all(), serializeFeatureSet: FeatureSet? = FeatureSet.all(), ) { if (encoded != null) { if (deserializeFeatureSet != null) { + val after = SignalProxyMessageSerializer.deserialize(encoded, deserializeFeatureSet) as? T if (matcher != null) { - testDeserialize(serializer, matcher(value), encoded.rewind(), deserializeFeatureSet) + assertThat(after, matcher(value)) } else { - testDeserialize(serializer, value, encoded.rewind(), deserializeFeatureSet) + assertEquals(after, value) } } if (serializeFeatureSet != null) { - testSerialize(serializer, value, encoded.rewind(), serializeFeatureSet) + assertThat( + ChainedByteBuffer().use { + SignalProxyMessageSerializer.serialize(it, value, serializeFeatureSet) + }, + ByteBufferMatcher(encoded.rewind()) + ) } } for (featureSet in featureSets) { - testSignalProxySerializerDirect(serializer, value) - testSignalProxySerializerEncoded(serializer, value, featureSet) + val after = SignalProxyMessageSerializer.deserialize( + ChainedByteBuffer().use { + SignalProxyMessageSerializer.serialize(it, value, featureSet) + }, + featureSet + ) as? T + if (matcher != null) { + assertThat(after, matcher(value)) + } else { + assertEquals(value, after) + } } } diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testHandshakeSerializerDirect.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testHandshakeSerializerDirect.kt deleted file mode 100644 index 2fd34c3c27928635570f17ff21f230a4578b7ca5..0000000000000000000000000000000000000000 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testHandshakeSerializerDirect.kt +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Quasseldroid - Quassel client for Android - * - * Copyright (c) 2021 Janne Mareike Koschinski - * Copyright (c) 2021 The Quassel Project - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3 as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.justjanne.libquassel.protocol.testutil - -import de.justjanne.libquassel.protocol.models.HandshakeMessage -import de.justjanne.libquassel.protocol.serializers.HandshakeSerializer -import org.hamcrest.Matcher -import org.hamcrest.MatcherAssert.assertThat -import org.junit.jupiter.api.Assertions.assertEquals - -fun <T : HandshakeMessage> testHandshakeSerializerDirect( - serializer: HandshakeSerializer<T>, - data: T, - matcher: Matcher<T>? = null -) { - val after = serializer.deserialize(serializer.serialize(data)) - if (matcher != null) { - assertThat(after, matcher) - } else { - assertEquals(data, after) - } -} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testHandshakeSerializerEncoded.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testHandshakeSerializerEncoded.kt deleted file mode 100644 index fcb03de52978174bbe9181a06227054a470853e5..0000000000000000000000000000000000000000 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testHandshakeSerializerEncoded.kt +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Quasseldroid - Quassel client for Android - * - * Copyright (c) 2021 Janne Mareike Koschinski - * Copyright (c) 2021 The Quassel Project - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3 as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.justjanne.libquassel.protocol.testutil - -import de.justjanne.libquassel.protocol.features.FeatureSet -import de.justjanne.libquassel.protocol.io.ChainedByteBuffer -import de.justjanne.libquassel.protocol.models.HandshakeMessage -import de.justjanne.libquassel.protocol.serializers.HandshakeSerializer -import de.justjanne.libquassel.protocol.serializers.qt.HandshakeMapSerializer -import org.hamcrest.Matcher -import org.hamcrest.MatcherAssert.assertThat -import org.junit.jupiter.api.Assertions.assertEquals - -fun <T : HandshakeMessage> testHandshakeSerializerEncoded( - serializer: HandshakeSerializer<T>, - data: T, - featureSet: FeatureSet = FeatureSet.all(), - matcher: Matcher<T>? = null -) { - val buffer = ChainedByteBuffer(limit = 16384) - HandshakeMapSerializer.serialize(buffer, serializer.serialize(data), featureSet) - val result = buffer.toBuffer() - val after = serializer.deserialize(HandshakeMapSerializer.deserialize(result, featureSet)) - assertEquals(0, result.remaining()) - if (matcher != null) { - assertThat(after, matcher) - } else { - assertEquals(data, after) - } -} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testQuasselSerializerVariant.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testPrimitiveSerializerVariant.kt similarity index 71% rename from libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testQuasselSerializerVariant.kt rename to libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testPrimitiveSerializerVariant.kt index 4355cbe6c94a8c925e35d158d8272346263800d6..893bc594e514562b59db8e547fafa63e9c913d48 100644 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testQuasselSerializerVariant.kt +++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testPrimitiveSerializerVariant.kt @@ -20,6 +20,7 @@ package de.justjanne.libquassel.protocol.testutil import de.justjanne.libquassel.protocol.features.FeatureSet import de.justjanne.libquassel.protocol.io.ChainedByteBuffer +import de.justjanne.libquassel.protocol.models.types.QtType import de.justjanne.libquassel.protocol.models.types.QuasselType import de.justjanne.libquassel.protocol.serializers.qt.QVariantSerializer import de.justjanne.libquassel.protocol.variant.qVariant @@ -27,7 +28,7 @@ import org.hamcrest.Matcher import org.hamcrest.MatcherAssert.assertThat import org.junit.jupiter.api.Assertions.assertEquals -inline fun <reified T> testQuasselSerializerVariant( +inline fun <reified T> testPrimitiveSerializerVariant( type: QuasselType, data: T, featureSet: FeatureSet = FeatureSet.all(), @@ -45,3 +46,22 @@ inline fun <reified T> testQuasselSerializerVariant( assertEquals(data, after.data) } } + +inline fun <reified T> testPrimitiveSerializerVariant( + type: QtType, + data: T, + featureSet: FeatureSet = FeatureSet.all(), + matcher: Matcher<in T>? = null +) { + val buffer = ChainedByteBuffer(limit = 16384) + QVariantSerializer.serialize(buffer, qVariant(data, type), featureSet) + val result = buffer.toBuffer() + val after = QVariantSerializer.deserialize(result, featureSet) + assertEquals(0, result.remaining()) + if (matcher != null) { + @Suppress("UNCHECKED_CAST") + assertThat(after.data as T, matcher) + } else { + assertEquals(data, after.data) + } +} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testQtSerializerVariant.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testQtSerializerVariant.kt deleted file mode 100644 index c7d6094af8ddea36a1c6389d419abe60c0ebcaa6..0000000000000000000000000000000000000000 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testQtSerializerVariant.kt +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Quasseldroid - Quassel client for Android - * - * Copyright (c) 2021 Janne Mareike Koschinski - * Copyright (c) 2021 The Quassel Project - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3 as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.justjanne.libquassel.protocol.testutil - -import de.justjanne.libquassel.protocol.features.FeatureSet -import de.justjanne.libquassel.protocol.io.ChainedByteBuffer -import de.justjanne.libquassel.protocol.models.types.QtType -import de.justjanne.libquassel.protocol.serializers.qt.QVariantSerializer -import de.justjanne.libquassel.protocol.variant.qVariant -import org.hamcrest.Matcher -import org.hamcrest.MatcherAssert.assertThat -import org.junit.jupiter.api.Assertions.assertEquals - -inline fun <reified T> testQtSerializerVariant( - type: QtType, - data: T, - featureSet: FeatureSet = FeatureSet.all(), - matcher: Matcher<in T>? = null -) { - val buffer = ChainedByteBuffer(limit = 16384) - QVariantSerializer.serialize(buffer, qVariant(data, type), featureSet) - val result = buffer.toBuffer() - val after = QVariantSerializer.deserialize(result, featureSet) - assertEquals(0, result.remaining()) - if (matcher != null) { - @Suppress("UNCHECKED_CAST") - assertThat(after.data as T, matcher) - } else { - assertEquals(data, after.data) - } -} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testSignalProxySerializerDirect.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testSignalProxySerializerDirect.kt deleted file mode 100644 index 10bc255b167e1a2d2bb6d9578290d2733679d61c..0000000000000000000000000000000000000000 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testSignalProxySerializerDirect.kt +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Quasseldroid - Quassel client for Android - * - * Copyright (c) 2021 Janne Mareike Koschinski - * Copyright (c) 2021 The Quassel Project - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3 as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.justjanne.libquassel.protocol.testutil - -import de.justjanne.libquassel.protocol.models.SignalProxyMessage -import de.justjanne.libquassel.protocol.serializers.SignalProxySerializer -import org.hamcrest.Matcher -import org.hamcrest.MatcherAssert.assertThat -import org.junit.jupiter.api.Assertions.assertEquals - -fun <T : SignalProxyMessage> testSignalProxySerializerDirect( - serializer: SignalProxySerializer<T>, - data: T, - matcher: Matcher<T>? = null -) { - val after = serializer.deserialize(serializer.serialize(data)) - if (matcher != null) { - assertThat(after, matcher) - } else { - assertEquals(data, after) - } -} diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testSignalProxySerializerEncoded.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testSignalProxySerializerEncoded.kt deleted file mode 100644 index 8575be4683c71e2f50511f1bcd1aa2e0bd8914f4..0000000000000000000000000000000000000000 --- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/testSignalProxySerializerEncoded.kt +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Quasseldroid - Quassel client for Android - * - * Copyright (c) 2021 Janne Mareike Koschinski - * Copyright (c) 2021 The Quassel Project - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3 as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package de.justjanne.libquassel.protocol.testutil - -import de.justjanne.libquassel.protocol.features.FeatureSet -import de.justjanne.libquassel.protocol.io.ChainedByteBuffer -import de.justjanne.libquassel.protocol.models.SignalProxyMessage -import de.justjanne.libquassel.protocol.serializers.SignalProxySerializer -import de.justjanne.libquassel.protocol.serializers.qt.QVariantListSerializer -import org.hamcrest.Matcher -import org.hamcrest.MatcherAssert.assertThat -import org.junit.jupiter.api.Assertions.assertEquals - -fun <T : SignalProxyMessage> testSignalProxySerializerEncoded( - serializer: SignalProxySerializer<T>, - data: T, - featureSet: FeatureSet = FeatureSet.all(), - matcher: Matcher<T>? = null -) { - val buffer = ChainedByteBuffer(limit = 16384) - QVariantListSerializer.serialize(buffer, serializer.serialize(data), featureSet) - val result = buffer.toBuffer() - val after = serializer.deserialize(QVariantListSerializer.deserialize(result, featureSet)) - assertEquals(0, result.remaining()) - if (matcher != null) { - assertThat(after, matcher) - } else { - assertEquals(data, after) - } -}