mirror of
https://github.com/logos-storage/nim-leopard.git
synced 2026-01-02 13:43:08 +00:00
initial test
This commit is contained in:
parent
b5fe8dc46e
commit
8e5d64d7c3
@ -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()
|
||||
Loading…
x
Reference in New Issue
Block a user