/ tests / test_thirty_three_fields.nim
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