mirror of
https://github.com/logos-storage/nim-serde.git
synced 2026-01-07 16:13:06 +00:00
73 lines
2.5 KiB
Nim
73 lines
2.5 KiB
Nim
import std/options
|
|
import std/unittest
|
|
import pkg/stint
|
|
import pkg/serde
|
|
import pkg/questionable
|
|
import pkg/questionable/results
|
|
|
|
suite "json - deserialize stint":
|
|
test "deserializes UInt256 from an empty JString":
|
|
let json = newJString("")
|
|
check !UInt256.fromJson(json) == 0.u256
|
|
|
|
test "deserializes UInt256 from an empty string":
|
|
check !UInt256.fromJson("") == 0.u256
|
|
|
|
test "deserializes ?UInt256 from an empty JString":
|
|
let json = newJString("")
|
|
check !Option[UInt256].fromJson(json) == 0.u256.some
|
|
|
|
test "deserializes ?UInt256 from an empty string":
|
|
check !Option[UInt256].fromJson("") == 0.u256.some
|
|
|
|
test "deserializes UInt256 from JString with no prefix":
|
|
let json = newJString("1")
|
|
check !UInt256.fromJson(json) == 1.u256
|
|
|
|
test "deserializes ?UInt256 from JString with no prefix":
|
|
let json = newJString("1")
|
|
check !Option[UInt256].fromJson(json) == 1.u256.some
|
|
|
|
test "deserializes UInt256 from string with no prefix":
|
|
check !UInt256.fromJson("1") == 1.u256
|
|
|
|
test "deserializes ?UInt256 from string with no prefix":
|
|
check !Option[UInt256].fromJson("1") == 1.u256.some
|
|
|
|
test "deserializes UInt256 from hex JString representation":
|
|
let json = newJString("0x1")
|
|
check !UInt256.fromJson(json) == 0x1.u256
|
|
|
|
test "deserializes ?UInt256 from hex JString representation":
|
|
let json = newJString("0x1")
|
|
check !Option[UInt256].fromJson(json) == 0x1.u256.some
|
|
|
|
test "deserializes ?UInt256 from hex string representation":
|
|
check !Option[UInt256].fromJson("0x1") == 0x1.u256.some
|
|
|
|
test "deserializes UInt256 from octal JString representation":
|
|
let json = newJString("0o1")
|
|
check !UInt256.fromJson(json) == 0o1.u256
|
|
|
|
test "deserializes ?UInt256 from octal JString representation":
|
|
let json = newJString("0o1")
|
|
check !Option[UInt256].fromJson(json) == 0o1.u256.some
|
|
|
|
test "deserializes ?UInt256 from octal string representation":
|
|
check !Option[UInt256].fromJson("0o1") == 0o1.u256.some
|
|
|
|
test "deserializes UInt256 from binary JString representation":
|
|
let json = newJString("0b1")
|
|
check !UInt256.fromJson(json) == 0b1.u256
|
|
|
|
test "deserializes ?UInt256 from binary JString representation":
|
|
let json = newJString("0b1")
|
|
check !Option[UInt256].fromJson(json) == 0b1.u256.some
|
|
|
|
test "deserializes ?UInt256 from binary string representation":
|
|
check !Option[UInt256].fromJson("0b1") == 0b1.u256.some
|
|
|
|
test "deserializes Int256 with no prefix":
|
|
let json = newJString("1")
|
|
check !Int256.fromJson(json) == 1.i256
|