| @@ 59-87 (lines=29) @@ | ||
| 56 | packed = TestStruct.pack(test_data_no_data) |
|
| 57 | assert packed == struct.pack('H', 0) + (struct.pack('B', 0) + struct.pack('H', 0)) * num_repeats |
|
| 58 | ||
| 59 | def test_some_data(self): |
|
| 60 | num_repeats = 3 |
|
| 61 | ||
| 62 | TestStruct = Message('TestStruct', [ |
|
| 63 | ('length', 'H', 'vardata'), |
|
| 64 | ('vardata', self.VarTest, 'length'), |
|
| 65 | ('repeated_data', self.Repeated, num_repeats), |
|
| 66 | ]) |
|
| 67 | ||
| 68 | test_data = { |
|
| 69 | 'length': 2, |
|
| 70 | 'vardata': [ |
|
| 71 | {'x': 1, 'y': 2}, |
|
| 72 | {'x': 3, 'y': 4}, |
|
| 73 | ], |
|
| 74 | 'repeated_data': [ |
|
| 75 | {'x': 7, 'z': 13}, |
|
| 76 | {'x': 2, 'z': 27}, |
|
| 77 | {'x': 6, 'z': 11}, |
|
| 78 | ], |
|
| 79 | } |
|
| 80 | ||
| 81 | made = TestStruct.make(test_data) |
|
| 82 | assert made.length == 2 |
|
| 83 | assert len(made.vardata) == 2 |
|
| 84 | assert len(made.repeated_data) == 3 |
|
| 85 | ||
| 86 | packed = TestStruct.pack(test_data) |
|
| 87 | assert packed == struct.pack('H', 2) + \ |
|
| 88 | struct.pack('BB', 1, 2) + \ |
|
| 89 | struct.pack('BB', 3, 4) + \ |
|
| 90 | (struct.pack('B', 7) + struct.pack('H', 13)) + \ |
|
| @@ 94-121 (lines=28) @@ | ||
| 91 | (struct.pack('B', 2) + struct.pack('H', 27)) + \ |
|
| 92 | (struct.pack('B', 6) + struct.pack('H', 11)) |
|
| 93 | ||
| 94 | def test_not_all_fixed_data(self): |
|
| 95 | num_repeats = 5 |
|
| 96 | ||
| 97 | TestStruct = Message('TestStruct', [ |
|
| 98 | ('length', 'H', 'vardata'), |
|
| 99 | ('vardata', self.VarTest, 'length'), |
|
| 100 | ('repeated_data', self.Repeated, num_repeats), |
|
| 101 | ]) |
|
| 102 | ||
| 103 | test_data = { |
|
| 104 | 'length': 1, |
|
| 105 | 'vardata': [ |
|
| 106 | {'x': 255, 'y': 127}, |
|
| 107 | ], |
|
| 108 | 'repeated_data': [ |
|
| 109 | {'x': 6, 'z': 12}, |
|
| 110 | {'x': 1, 'z': 26}, |
|
| 111 | {'x': 5, 'z': 10}, |
|
| 112 | ], |
|
| 113 | } |
|
| 114 | ||
| 115 | made = TestStruct.make(test_data) |
|
| 116 | assert made.length == 1 |
|
| 117 | assert len(made.vardata) == 1 |
|
| 118 | assert len(made.repeated_data) == 3 |
|
| 119 | ||
| 120 | packed = TestStruct.pack(test_data) |
|
| 121 | assert packed == struct.pack('H', 1) + \ |
|
| 122 | struct.pack('BB', 255, 127) + \ |
|
| 123 | (struct.pack('B', 6) + struct.pack('H', 12)) + \ |
|
| 124 | (struct.pack('B', 1) + struct.pack('H', 26)) + \ |
|