| @@ 154-186 (lines=33) @@ | ||
| 151 | struct.pack('H', 0) + \ |
|
| 152 | struct.pack('H', 0) |
|
| 153 | ||
| 154 | def test_byte_length_some_data(self): |
|
| 155 | TestStruct = Message('TestStruct', [ |
|
| 156 | ('length_in_objects', 'H', 'vardata'), |
|
| 157 | ('vardata', self.VarTest, 'length_in_objects'), |
|
| 158 | (b'length_in_bytes', 'H', 'bytesdata'), |
|
| 159 | ('bytesdata', self.VarTest, b'length_in_bytes'), |
|
| 160 | ||
| 161 | ]) |
|
| 162 | test_data_no_data = { |
|
| 163 | 'length_in_objects': 1, |
|
| 164 | 'vardata': [ |
|
| 165 | {'x': 255, 'y': 127}, |
|
| 166 | ], |
|
| 167 | 'length_in_bytes': 2, |
|
| 168 | 'bytesdata': [ |
|
| 169 | {'x': 254, 'y': 126}, |
|
| 170 | ], |
|
| 171 | } |
|
| 172 | ||
| 173 | made = TestStruct.make(test_data_no_data) |
|
| 174 | assert made.length_in_objects == 1 |
|
| 175 | assert made.vardata == [ |
|
| 176 | self.VarTest.make( |
|
| 177 | {'x': 255, 'y': 127} |
|
| 178 | )] |
|
| 179 | assert made.length_in_bytes == 2 |
|
| 180 | assert made.bytesdata == [ |
|
| 181 | self.VarTest.make( |
|
| 182 | {'x': 254, 'y': 126} |
|
| 183 | )] |
|
| 184 | ||
| 185 | packed = TestStruct.pack(test_data_no_data) |
|
| 186 | assert packed == \ |
|
| 187 | struct.pack('H', 1) + \ |
|
| 188 | struct.pack('BB', 255, 127) + \ |
|
| 189 | struct.pack('H', 2) + \ |
|
| @@ 128-150 (lines=23) @@ | ||
| 125 | (struct.pack('B', 5) + struct.pack('H', 10)) + \ |
|
| 126 | (struct.pack('B', 0) + struct.pack('H', 0)) * 2 |
|
| 127 | ||
| 128 | def test_byte_length_no_data(self): |
|
| 129 | TestStruct = Message('TestStruct', [ |
|
| 130 | ('length_in_objects', 'H', 'vardata'), |
|
| 131 | ('vardata', self.VarTest, 'length_in_objects'), |
|
| 132 | (b'length_in_bytes', 'H', 'bytesdata'), |
|
| 133 | ('bytesdata', self.VarTest, b'length_in_bytes'), |
|
| 134 | ||
| 135 | ]) |
|
| 136 | test_data_no_data = { |
|
| 137 | 'length_in_objects': 0, |
|
| 138 | 'vardata': [], |
|
| 139 | 'length_in_bytes': 0, |
|
| 140 | 'bytesdata': [], |
|
| 141 | } |
|
| 142 | ||
| 143 | made = TestStruct.make(test_data_no_data) |
|
| 144 | assert made.length_in_objects == 0 |
|
| 145 | assert made.vardata == [] |
|
| 146 | assert made.length_in_bytes == 0 |
|
| 147 | assert made.bytesdata == [] |
|
| 148 | ||
| 149 | packed = TestStruct.pack(test_data_no_data) |
|
| 150 | assert packed == \ |
|
| 151 | struct.pack('H', 0) + \ |
|
| 152 | struct.pack('H', 0) |
|
| 153 | ||