diff --git a/tests/testleopard.nim b/tests/testleopard.nim index f808091..79d9f9f 100644 --- a/tests/testleopard.nim +++ b/tests/testleopard.nim @@ -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() \ No newline at end of file