test_thirty_three_fields.nim
1 import unittest2 2 3 import ../protobuf_serialization 4 5 type X {.proto3.} = object 6 x00 {.fieldNumber: 1.}: bool 7 x01 {.fieldNumber: 2.}: bool 8 x02 {.fieldNumber: 3.}: bool 9 x03 {.fieldNumber: 4.}: bool 10 x04 {.fieldNumber: 5.}: bool 11 x05 {.fieldNumber: 6.}: bool 12 x06 {.fieldNumber: 7.}: bool 13 x07 {.fieldNumber: 8.}: bool 14 x08 {.fieldNumber: 9.}: bool 15 x09 {.fieldNumber: 10.}: bool 16 x0A {.fieldNumber: 11.}: bool 17 x0B {.fieldNumber: 12.}: bool 18 x0C {.fieldNumber: 13.}: bool 19 x0D {.fieldNumber: 14.}: bool 20 x0E {.fieldNumber: 15.}: bool 21 x0F {.fieldNumber: 16.}: bool 22 x10 {.fieldNumber: 17.}: bool 23 x11 {.fieldNumber: 18.}: bool 24 x12 {.fieldNumber: 19.}: bool 25 x13 {.fieldNumber: 20.}: bool 26 x14 {.fieldNumber: 21.}: bool 27 x15 {.fieldNumber: 22.}: bool 28 x16 {.fieldNumber: 23.}: bool 29 x17 {.fieldNumber: 24.}: bool 30 x18 {.fieldNumber: 25.}: bool 31 x19 {.fieldNumber: 26.}: bool 32 x1A {.fieldNumber: 27.}: bool 33 x1B {.fieldNumber: 28.}: bool 34 x1C {.fieldNumber: 29.}: bool 35 x1D {.fieldNumber: 30.}: bool 36 x1E {.fieldNumber: 31.}: bool 37 x1F {.fieldNumber: 32.}: bool 38 x20 {.fieldNumber: 33.}: bool 39 40 suite "Thirty-three fielded object": 41 test "Can encode and decode an object with 33 fields": 42 let x = X( 43 x00: true, 44 x01: true, 45 x02: true, 46 x03: true, 47 x04: true, 48 x05: true, 49 x06: true, 50 x07: true, 51 x08: true, 52 x09: true, 53 x0A: true, 54 x0B: true, 55 x0C: true, 56 x0D: true, 57 x0E: true, 58 x0F: true, 59 x10: true, 60 x11: true, 61 x12: true, 62 x13: true, 63 x14: true, 64 x15: true, 65 x16: true, 66 x17: true, 67 x18: true, 68 x19: true, 69 x1A: true, 70 x1B: true, 71 x1C: true, 72 x1D: true, 73 x1E: true, 74 x1F: true, 75 x20: true 76 ) 77 check Protobuf.decode(Protobuf.encode(x), X) == x