mirror of
https://github.com/logos-storage/nim-poseidon2.git
synced 2026-01-03 14:13:11 +00:00
16 lines
552 B
Nim
16 lines
552 B
Nim
import std/unittest
|
|
import constantine/math/arithmetic
|
|
import poseidon2/io
|
|
import poseidon2/permutation
|
|
import poseidon2/compress
|
|
|
|
suite "compress":
|
|
|
|
test "uses permutation to compress two elements":
|
|
check bool(compress(1.toF, 2.toF) == (1.toF, 2.toF, 0.toF).perm[0])
|
|
check bool(compress(3.toF, 4.toF) == (3.toF, 4.toF, 0.toF).perm[0])
|
|
|
|
test "allows for keyed compression":
|
|
check bool(compress(1.toF, 2.toF, key=3.toF) == (1.toF, 2.toF, 3.toF).perm[0])
|
|
check bool(compress(4.toF, 5.toF, key=6.toF) == (4.toF, 5.toF, 6.toF).perm[0])
|