initial test

This commit is contained in:
Dmitriy Ryajov 2022-03-26 13:50:53 -06:00
parent b5fe8dc46e
commit 8e5d64d7c3
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4

View File

@ -8,41 +8,39 @@ suite "Leopard":
const
testString = "Hello World!"
var
leoEncoder: LeoEncoder
leoDecoder: LeoDecoder
data: seq[seq[byte]]
parity: seq[seq[byte]]
recovered: seq[seq[byte]]
test "Test simple Encode/Decode":
var
encoder = Leo.init(64, 16, 10, LeoCoderKind.Encoder).tryGet()
decoder = Leo.init(64, 16, 10, LeoCoderKind.Decoder).tryGet()
data = newSeq[seq[byte]](16)
parity = newSeq[seq[byte]](10)
recovered = newSeq[seq[byte]](16)
test "Test Encode/Decode":
leoEncoder = LeoEncoder.init(64, 16, 10).tryGet()
leoDecoder = LeoDecoder.init(64, 16, 10).tryGet()
data = newSeq[seq[byte]](16)
parity = newSeq[seq[byte]](10)
recovered = newSeq[seq[byte]](16)
try:
for i in 0..<16:
data[i] = newSeq[byte](64)
recovered[i] = newSeq[byte](64)
var
str = testString & " " & $i
copyMem(addr data[i][0], addr str[0], str.len)
for i in 0..<10:
parity[i] = newSeq[byte](64)
encoder.encode(data, parity).tryGet()
for i in 0..<16:
data[i] = newSeq[byte](64)
recovered[i] = newSeq[byte](64)
var
str = testString & " " & $i
data1 = data[0]
data2 = data[1]
copyMem(addr data[i][0], addr str[0], str.len)
data[0].setLen(0)
data[1].setLen(0)
for i in 0..<10:
parity[i] = newSeq[byte](64)
decoder.decode(data, parity, recovered).tryGet()
leoEncoder.encode(data, parity).tryGet()
let
data1 = data[0]
data2 = data[1]
data[0].setLen(0)
data[1].setLen(0)
leoDecoder.decode(data, parity, recovered).tryGet()
check recovered[0] == data1
check recovered[1] == data2
check recovered[0] == data1
check recovered[1] == data2
finally:
encoder.free()
decoder.free()