mirror of
https://github.com/logos-storage/logos-storage-nim-validator.git
synced 2026-01-03 05:53:06 +00:00
sometimes protobuf parsing would get a bit further, and fail with a different error message
24 lines
729 B
Nim
24 lines
729 B
Nim
import ./basics
|
|
import codexvalidator/hashing
|
|
|
|
suite "Hashing":
|
|
|
|
test "serializes a hash to bytes":
|
|
let hash = Hash.example
|
|
let serialized = hash.toBytes()
|
|
check serialized == hash.data
|
|
|
|
test "deserializes a hash from bytes":
|
|
let hash = Hash.example
|
|
let serialized = hash.toBytes()
|
|
let deserialized = Hash.fromBytes(serialized)
|
|
check deserialized == success hash
|
|
|
|
test "deserialization fails when number of bytes is not 32":
|
|
let hash = Hash.example
|
|
let serialized = hash.toBytes()
|
|
let invalid = serialized & 42'u8
|
|
let deserialized = Hash.fromBytes(invalid)
|
|
check deserialized.isFailure
|
|
check deserialized.errorOption.?msg == some "expected hash of 32 bytes, but got: 33"
|