Add tests, fix unsigned int
This commit is contained in:
parent
fe9c5fa1f3
commit
ec0e5a190a
3 changed files with 64 additions and 18 deletions
|
|
@ -1 +1 @@
|
|||
switch("path", "$projectDir/../src")
|
||||
switch("path", "$projectDir/../")
|
||||
46
tests/test_serialization.nim
Normal file
46
tests/test_serialization.nim
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
import unittest
|
||||
|
||||
import protobuf_serialization
|
||||
|
||||
type
|
||||
MyEnum = enum
|
||||
ME1, ME2, ME3
|
||||
|
||||
suite "Test Varint Encoding":
|
||||
test "Can encode enum":
|
||||
let proto = newProtoBuffer()
|
||||
proto.encode(ME3)
|
||||
proto.encode(ME2)
|
||||
var output = proto.output
|
||||
assert output == @[8.byte, 4, 16, 2]
|
||||
|
||||
let decodedME3 = decode(output, MyEnum)
|
||||
assert decodedME3.value == ME3
|
||||
assert decodedME3.fieldNum == 1
|
||||
|
||||
let decodedME2 = decode(output, MyEnum, offset=decodedME3.bytesProcessed)
|
||||
assert decodedME2.value == ME2
|
||||
assert decodedME2.fieldNum == 2
|
||||
|
||||
test "Can encode negative number":
|
||||
let proto = newProtoBuffer()
|
||||
let num = -153452
|
||||
proto.encode(num)
|
||||
var output = proto.output
|
||||
assert output == @[8.byte, 215, 221, 18]
|
||||
|
||||
let decoded = decode(output, int)
|
||||
assert decoded.value == num
|
||||
assert decoded.fieldNum == 1
|
||||
|
||||
test "Can encode unsigned number":
|
||||
let proto = newProtoBuffer()
|
||||
let num = 123151.uint
|
||||
proto.encode(num)
|
||||
var output = proto.output
|
||||
assert output == @[8.byte, 143, 194, 7]
|
||||
|
||||
let decoded = decode(output, uint)
|
||||
echo decoded.value
|
||||
assert decoded.value == num
|
||||
assert decoded.fieldNum == 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue