implement tests

This commit is contained in:
2025-11-10 18:32:08 +01:00
parent 9db4ee21a0
commit a875ee3170
4 changed files with 42 additions and 4 deletions

View File

@@ -23,6 +23,9 @@ kotlin {
implementation(libs.hash)
implementation(libs.bytearray)
}
commonTest.dependencies {
implementation(libs.test)
}
}
compilerOptions {

View File

@@ -1,7 +1,7 @@
[versions]
kotlin = "2.1.20"
hash = "1.3.1"
bytearray = "1.2.0"
hash = "1.3.2"
bytearray = "1.2.2"
[plugins]
multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
@@ -9,3 +9,4 @@ multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotl
[libraries]
hash = { module = "com.infendro:hash", version.ref = "hash" }
bytearray = { module = "com.infendro:bytearray", version.ref = "bytearray" }
test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }

View File

@@ -2,8 +2,6 @@ package com.infendro.mac
abstract class MAC {
abstract val bytes: Int
@Suppress("UNUSED")
val bits: Int
get() = bytes * 8

View File

@@ -0,0 +1,36 @@
package com.infendro.mac
import com.infendro.hash.sha2.`SHA-256`
import kotlin.test.Test
import kotlin.test.assertContentEquals
import kotlin.test.assertEquals
class `HMAC Test` {
val hmac = HMAC(`SHA-256`)
@Test
fun bytes() {
assertEquals(32, hmac.bytes)
assertEquals(256, hmac.bits)
}
@Test
fun `hash() - example`() {
assertContentEquals(
ubyteArrayOf(
0xf7U, 0xbcU, 0x83U, 0xf4U,
0x30U, 0x53U, 0x84U, 0x24U,
0xb1U, 0x32U, 0x98U, 0xe6U,
0xaaU, 0x6fU, 0xb1U, 0x43U,
0xefU, 0x4dU, 0x59U, 0xa1U,
0x49U, 0x46U, 0x17U, 0x59U,
0x97U, 0x47U, 0x9dU, 0xbcU,
0x2dU, 0x1aU, 0x3cU, 0xd8U,
),
hmac.hash(
"key".encodeToByteArray().asUByteArray(),
"The quick brown fox jumps over the lazy dog".encodeToByteArray().asUByteArray()
)
)
}
}