Prepare test parse_TLV

This commit is contained in:
Chemaclass 2023-03-03 22:58:24 +01:00
parent 47f3fe5cc6
commit bd3d7e1aa3
2 changed files with 11 additions and 3 deletions

View File

@ -78,7 +78,7 @@ fun toInt32(bytes: ByteArray): Int {
}
fun parseTLV(data: ByteArray): Map<Byte, List<ByteArray>> {
var result = mutableMapOf<Byte, MutableList<ByteArray>>()
val result = mutableMapOf<Byte, MutableList<ByteArray>>()
var rest = data
while (rest.isNotEmpty()) {
val t = rest[0]
@ -88,9 +88,9 @@ fun parseTLV(data: ByteArray): Map<Byte, List<ByteArray>> {
if (v.size < l) continue
if (!result.containsKey(t)) {
result.put(t, mutableListOf())
result[t] = mutableListOf()
}
result.get(t)?.add(v)
result[t]?.add(v)
}
return result
}

View File

@ -1,6 +1,7 @@
package com.vitorpamplona.amethyst.service
import org.junit.Assert
import org.junit.Ignore
import org.junit.Test
class Nip19Test {
@ -18,8 +19,15 @@ class Nip19Test {
@Test()
fun to_int_32_length_4() {
val actual = toInt32(byteArrayOfInts(1, 2, 3, 4))
Assert.assertEquals(16909060, actual)
}
@Ignore("Not implemented yet")
@Test()
fun parse_TLV() {
// TODO
}
private fun byteArrayOfInts(vararg ints: Int) = ByteArray(ints.size) { pos -> ints[pos].toByte() }
}