From a553aa6723adc789aa96b01f2613cad530303e21 Mon Sep 17 00:00:00 2001 From: Infendro Date: Sat, 17 Jan 2026 13:46:57 +0100 Subject: [PATCH] improve test coverage --- .../kotlin/com/infendro/encoding/Base16.kt | 35 --------------- .../kotlin/com/infendro/encoding/Base2.kt | 44 ------------------- .../kotlin/com/infendro/encoding/Base32.kt | 35 --------------- .../kotlin/com/infendro/encoding/Base64.kt | 34 -------------- .../kotlin/com/infendro/encoding/Base8.kt | 36 --------------- .../com/infendro/encoding/numeric/Base36.kt | 37 ++++++++++++++++ .../com/infendro/encoding/numeric/Base62.kt | 37 ++++++++++++++++ .../com/infendro/encoding/stream/Base16.kt | 37 ++++++++++++++++ .../com/infendro/encoding/stream/Base2.kt | 37 ++++++++++++++++ .../com/infendro/encoding/stream/Base32.kt | 37 ++++++++++++++++ .../com/infendro/encoding/stream/Base64.kt | 37 ++++++++++++++++ .../com/infendro/encoding/stream/Base8.kt | 37 ++++++++++++++++ 12 files changed, 259 insertions(+), 184 deletions(-) delete mode 100644 src/commonTest/kotlin/com/infendro/encoding/Base16.kt delete mode 100644 src/commonTest/kotlin/com/infendro/encoding/Base2.kt delete mode 100644 src/commonTest/kotlin/com/infendro/encoding/Base32.kt delete mode 100644 src/commonTest/kotlin/com/infendro/encoding/Base64.kt delete mode 100644 src/commonTest/kotlin/com/infendro/encoding/Base8.kt create mode 100644 src/commonTest/kotlin/com/infendro/encoding/numeric/Base36.kt create mode 100644 src/commonTest/kotlin/com/infendro/encoding/numeric/Base62.kt create mode 100644 src/commonTest/kotlin/com/infendro/encoding/stream/Base16.kt create mode 100644 src/commonTest/kotlin/com/infendro/encoding/stream/Base2.kt create mode 100644 src/commonTest/kotlin/com/infendro/encoding/stream/Base32.kt create mode 100644 src/commonTest/kotlin/com/infendro/encoding/stream/Base64.kt create mode 100644 src/commonTest/kotlin/com/infendro/encoding/stream/Base8.kt diff --git a/src/commonTest/kotlin/com/infendro/encoding/Base16.kt b/src/commonTest/kotlin/com/infendro/encoding/Base16.kt deleted file mode 100644 index 3600e6c..0000000 --- a/src/commonTest/kotlin/com/infendro/encoding/Base16.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.infendro.encoding - -import com.infendro.encoding.stream.Base16 -import com.infendro.encoding.stream.StreamEncoding -import kotlin.test.Test -import kotlin.test.assertContentEquals - -class `Base16 Test` { - val encoding: StreamEncoding - get() = Base16 - - val `Hello World!` = byteArrayOf( - 0x48, 0x65, 0x6c, 0x6c, - 0x6f, 0x20, 0x57, 0x6f, - 0x72, 0x6c, 0x64, 0x21, - ) - - @Test - fun `encode empty ByteArray`() { - val expected = byteArrayOf() - val actual = encoding.encode(byteArrayOf()) - assertContentEquals(expected, actual) - } - - @Test - fun `encode "Hello World!"`() { - val expected = byteArrayOf( - 0x34, 0x38, 0x36, 0x35, 0x36, 0x63, 0x36, 0x63, - 0x36, 0x66, 0x32, 0x30, 0x35, 0x37, 0x36, 0x66, - 0x37, 0x32, 0x36, 0x63, 0x36, 0x34, 0x32, 0x31, - ) - val actual = encoding.encode(`Hello World!`) - assertContentEquals(expected, actual) - } -} diff --git a/src/commonTest/kotlin/com/infendro/encoding/Base2.kt b/src/commonTest/kotlin/com/infendro/encoding/Base2.kt deleted file mode 100644 index 66b7800..0000000 --- a/src/commonTest/kotlin/com/infendro/encoding/Base2.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.infendro.encoding - -import com.infendro.encoding.stream.Base2 -import com.infendro.encoding.stream.StreamEncoding -import kotlin.test.Test -import kotlin.test.assertContentEquals - -class `Base2 Test` { - val encoding: StreamEncoding - get() = Base2 - - val `Hello World!` = byteArrayOf( - 0x48, 0x65, 0x6c, 0x6c, - 0x6f, 0x20, 0x57, 0x6f, - 0x72, 0x6c, 0x64, 0x21, - ) - - @Test - fun `encode empty ByteArray`() { - val expected = byteArrayOf() - val actual = encoding.encode(byteArrayOf()) - assertContentEquals(expected, actual) - } - - @Test - fun `encode "Hello World!"`() { - val expected = byteArrayOf( - 0x30, 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x31, 0x30, 0x30, 0x31, 0x30, 0x31, - 0x30, 0x31, 0x31, 0x30, 0x31, 0x31, 0x30, 0x30, - 0x30, 0x31, 0x31, 0x30, 0x31, 0x31, 0x30, 0x30, - 0x30, 0x31, 0x31, 0x30, 0x31, 0x31, 0x31, 0x31, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x31, 0x31, - 0x30, 0x31, 0x31, 0x30, 0x31, 0x31, 0x31, 0x31, - 0x30, 0x31, 0x31, 0x31, 0x30, 0x30, 0x31, 0x30, - 0x30, 0x31, 0x31, 0x30, 0x31, 0x31, 0x30, 0x30, - 0x30, 0x31, 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x31, - ) - val actual = encoding.encode(`Hello World!`) - assertContentEquals(expected, actual) - } -} diff --git a/src/commonTest/kotlin/com/infendro/encoding/Base32.kt b/src/commonTest/kotlin/com/infendro/encoding/Base32.kt deleted file mode 100644 index c37032a..0000000 --- a/src/commonTest/kotlin/com/infendro/encoding/Base32.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.infendro.encoding - -import com.infendro.encoding.stream.Base32 -import com.infendro.encoding.stream.StreamEncoding -import kotlin.test.Test -import kotlin.test.assertContentEquals - -class `Base32 Test` { - val encoding: StreamEncoding - get() = Base32 - - val `Hello World!` = byteArrayOf( - 0x48, 0x65, 0x6c, 0x6c, - 0x6f, 0x20, 0x57, 0x6f, - 0x72, 0x6c, 0x64, 0x21, - ) - - @Test - fun `encode empty ByteArray`() { - val expected = byteArrayOf() - val actual = encoding.encode(byteArrayOf()) - assertContentEquals(expected, actual) - } - - @Test - fun `encode "Hello World!"`() { - val expected = byteArrayOf( - 0x4a, 0x42, 0x53, 0x57, 0x59, 0x33, 0x44, 0x50, - 0x45, 0x42, 0x4c, 0x57, 0x36, 0x34, 0x54, 0x4d, - 0x4d, 0x51, 0x51, 0x51, 0x3d, 0x3d, 0x3d, 0x3d, - ) - val actual = encoding.encode(`Hello World!`) - assertContentEquals(expected, actual) - } -} diff --git a/src/commonTest/kotlin/com/infendro/encoding/Base64.kt b/src/commonTest/kotlin/com/infendro/encoding/Base64.kt deleted file mode 100644 index 653093e..0000000 --- a/src/commonTest/kotlin/com/infendro/encoding/Base64.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.infendro.encoding - -import com.infendro.encoding.stream.Base64 -import com.infendro.encoding.stream.StreamEncoding -import kotlin.test.Test -import kotlin.test.assertContentEquals - -class `Base64 Test` { - val encoding: StreamEncoding - get() = Base64 - - val `Hello World!` = byteArrayOf( - 0x48, 0x65, 0x6c, 0x6c, - 0x6f, 0x20, 0x57, 0x6f, - 0x72, 0x6c, 0x64, 0x21, - ) - - @Test - fun `encode empty ByteArray`() { - val expected = byteArrayOf() - val actual = encoding.encode(byteArrayOf()) - assertContentEquals(expected, actual) - } - - @Test - fun `encode "Hello World!"`() { - val expected = byteArrayOf( - 0x53, 0x47, 0x56, 0x73, 0x62, 0x47, 0x38, 0x67, - 0x56, 0x32, 0x39, 0x79, 0x62, 0x47, 0x51, 0x68, - ) - val actual = encoding.encode(`Hello World!`) - assertContentEquals(expected, actual) - } -} diff --git a/src/commonTest/kotlin/com/infendro/encoding/Base8.kt b/src/commonTest/kotlin/com/infendro/encoding/Base8.kt deleted file mode 100644 index 3cbe37a..0000000 --- a/src/commonTest/kotlin/com/infendro/encoding/Base8.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.infendro.encoding - -import com.infendro.encoding.stream.Base8 -import com.infendro.encoding.stream.StreamEncoding -import kotlin.test.Test -import kotlin.test.assertContentEquals - -class `Base8 Test` { - val encoding: StreamEncoding - get() = Base8 - - val `Hello World!` = byteArrayOf( - 0x48, 0x65, 0x6c, 0x6c, - 0x6f, 0x20, 0x57, 0x6f, - 0x72, 0x6c, 0x64, 0x21, - ) - - @Test - fun `encode empty ByteArray`() { - val expected = byteArrayOf() - val actual = encoding.encode(byteArrayOf()) - assertContentEquals(expected, actual) - } - - @Test - fun `encode "Hello World!"`() { - val expected = byteArrayOf( - 0x32, 0x32, 0x30, 0x36, 0x32, 0x35, 0x35, 0x34, - 0x33, 0x33, 0x30, 0x36, 0x37, 0x34, 0x34, 0x30, - 0x32, 0x35, 0x36, 0x36, 0x37, 0x35, 0x36, 0x32, - 0x33, 0x33, 0x30, 0x36, 0x32, 0x30, 0x34, 0x31, - ) - val actual = encoding.encode(`Hello World!`) - assertContentEquals(expected, actual) - } -} diff --git a/src/commonTest/kotlin/com/infendro/encoding/numeric/Base36.kt b/src/commonTest/kotlin/com/infendro/encoding/numeric/Base36.kt new file mode 100644 index 0000000..cd55650 --- /dev/null +++ b/src/commonTest/kotlin/com/infendro/encoding/numeric/Base36.kt @@ -0,0 +1,37 @@ +package com.infendro.encoding.numeric + +import com.infendro.encoding.Encoding +import kotlin.test.Test +import kotlin.test.assertContentEquals + +class `Base36 Test` { + val encoding: Encoding + get() = Base36 + + val original = "Hello World!".encodeToByteArray() + val encoded = "2678LX5GVMSV1DRO9B5".encodeToByteArray() + + @Test + fun `encode empty`() { + val actual = encoding.encode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun `decode empty`() { + val actual = encoding.decode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun encode() { + val actual = encoding.encode(original) + assertContentEquals(encoded, actual) + } + + @Test + fun decode() { + val actual = encoding.decode(encoded) + assertContentEquals(original, actual) + } +} diff --git a/src/commonTest/kotlin/com/infendro/encoding/numeric/Base62.kt b/src/commonTest/kotlin/com/infendro/encoding/numeric/Base62.kt new file mode 100644 index 0000000..b519ec5 --- /dev/null +++ b/src/commonTest/kotlin/com/infendro/encoding/numeric/Base62.kt @@ -0,0 +1,37 @@ +package com.infendro.encoding.numeric + +import com.infendro.encoding.Encoding +import kotlin.test.Test +import kotlin.test.assertContentEquals + +class `Base62 Test` { + val encoding: Encoding + get() = Base62 + + val original = "Hello World!".encodeToByteArray() + val encoded = "T8dgcjRGkZ3aysdN".encodeToByteArray() + + @Test + fun `encode empty`() { + val actual = encoding.encode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun `decode empty`() { + val actual = encoding.decode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun encode() { + val actual = encoding.encode(original) + assertContentEquals(encoded, actual) + } + + @Test + fun decode() { + val actual = encoding.decode(encoded) + assertContentEquals(original, actual) + } +} diff --git a/src/commonTest/kotlin/com/infendro/encoding/stream/Base16.kt b/src/commonTest/kotlin/com/infendro/encoding/stream/Base16.kt new file mode 100644 index 0000000..1803488 --- /dev/null +++ b/src/commonTest/kotlin/com/infendro/encoding/stream/Base16.kt @@ -0,0 +1,37 @@ +package com.infendro.encoding.stream + +import com.infendro.encoding.Encoding +import kotlin.test.Test +import kotlin.test.assertContentEquals + +class `Base16 Test` { + val encoding: Encoding + get() = Base16 + + val original = "Hello World!".encodeToByteArray() + val encoded = "48656C6C6F20576F726C6421".encodeToByteArray() + + @Test + fun `encode empty`() { + val actual = encoding.encode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun `decode empty`() { + val actual = encoding.decode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun encode() { + val actual = encoding.encode(original) + assertContentEquals(encoded, actual) + } + + @Test + fun decode() { + val actual = encoding.decode(encoded) + assertContentEquals(original, actual) + } +} diff --git a/src/commonTest/kotlin/com/infendro/encoding/stream/Base2.kt b/src/commonTest/kotlin/com/infendro/encoding/stream/Base2.kt new file mode 100644 index 0000000..e91105a --- /dev/null +++ b/src/commonTest/kotlin/com/infendro/encoding/stream/Base2.kt @@ -0,0 +1,37 @@ +package com.infendro.encoding.stream + +import com.infendro.encoding.Encoding +import kotlin.test.Test +import kotlin.test.assertContentEquals + +class `Base2 Test` { + val encoding: Encoding + get() = Base2 + + val original = "Hello World!".encodeToByteArray() + val encoded = "010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001".encodeToByteArray() + + @Test + fun `encode empty`() { + val actual = encoding.encode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun `decode empty`() { + val actual = encoding.decode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun encode() { + val actual = encoding.encode(original) + assertContentEquals(encoded, actual) + } + + @Test + fun decode() { + val actual = encoding.decode(encoded) + assertContentEquals(original, actual) + } +} diff --git a/src/commonTest/kotlin/com/infendro/encoding/stream/Base32.kt b/src/commonTest/kotlin/com/infendro/encoding/stream/Base32.kt new file mode 100644 index 0000000..76a63a1 --- /dev/null +++ b/src/commonTest/kotlin/com/infendro/encoding/stream/Base32.kt @@ -0,0 +1,37 @@ +package com.infendro.encoding.stream + +import com.infendro.encoding.Encoding +import kotlin.test.Test +import kotlin.test.assertContentEquals + +class `Base32 Test` { + val encoding: Encoding + get() = Base32 + + val original = "Hello World!".encodeToByteArray() + val encoded = "JBSWY3DPEBLW64TMMQQQ====".encodeToByteArray() + + @Test + fun `encode empty`() { + val actual = encoding.encode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun `decode empty`() { + val actual = encoding.decode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun encode() { + val actual = encoding.encode(original) + assertContentEquals(encoded, actual) + } + + @Test + fun decode() { + val actual = encoding.decode(encoded) + assertContentEquals(original, actual) + } +} diff --git a/src/commonTest/kotlin/com/infendro/encoding/stream/Base64.kt b/src/commonTest/kotlin/com/infendro/encoding/stream/Base64.kt new file mode 100644 index 0000000..87dd90c --- /dev/null +++ b/src/commonTest/kotlin/com/infendro/encoding/stream/Base64.kt @@ -0,0 +1,37 @@ +package com.infendro.encoding.stream + +import com.infendro.encoding.Encoding +import kotlin.test.Test +import kotlin.test.assertContentEquals + +class `Base64 Test` { + val encoding: Encoding + get() = Base64 + + val original = "Hello World!".encodeToByteArray() + val encoded = "SGVsbG8gV29ybGQh".encodeToByteArray() + + @Test + fun `encode empty`() { + val actual = encoding.encode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun `decode empty`() { + val actual = encoding.decode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun encode() { + val actual = encoding.encode(original) + assertContentEquals(encoded, actual) + } + + @Test + fun decode() { + val actual = encoding.decode(encoded) + assertContentEquals(original, actual) + } +} diff --git a/src/commonTest/kotlin/com/infendro/encoding/stream/Base8.kt b/src/commonTest/kotlin/com/infendro/encoding/stream/Base8.kt new file mode 100644 index 0000000..b7b3a08 --- /dev/null +++ b/src/commonTest/kotlin/com/infendro/encoding/stream/Base8.kt @@ -0,0 +1,37 @@ +package com.infendro.encoding.stream + +import com.infendro.encoding.Encoding +import kotlin.test.Test +import kotlin.test.assertContentEquals + +class `Base8 Test` { + val encoding: Encoding + get() = Base8 + + val original = "Hello World!".encodeToByteArray() + val encoded = "22062554330674402566756233062041".encodeToByteArray() + + @Test + fun `encode empty`() { + val actual = encoding.encode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun `decode empty`() { + val actual = encoding.decode(byteArrayOf()) + assertContentEquals(byteArrayOf(), actual) + } + + @Test + fun encode() { + val actual = encoding.encode(original) + assertContentEquals(encoded, actual) + } + + @Test + fun decode() { + val actual = encoding.decode(encoded) + assertContentEquals(original, actual) + } +}