def test_decode_message(self): list = ListTemplate('5', 'five', parent=None) list.add(UInt(4, None, 3)) decoded = list.decode(to_bin('0x' + ('00000003' * 5)), {}) self.assertEquals(len(decoded[4]), 4) self.assertEquals(len(decoded), 20) self.assertEquals(decoded[0].int, 3)
def test_encode_dynamic_list(self): tmp = MessageTemplate('Dymagic', self._protocol, {}) tmp.add(UInt(2, 'len', None)) lst = ListTemplate('len', 'foo', parent=None) lst.add(UInt(1, 'bar', 1)) tmp.add(lst) encoded = tmp.encode({'len': 6}, {}) self.assertEquals(len(encoded.foo), 6)
def test_encode_dynamic_list(self): tmp = MessageTemplate('Dymagic', self._protocol, {}) tmp.add(UInt(2, 'len', None)) lst = ListTemplate('len', 'foo', parent=None) lst.add(UInt(1, 'bar', 1)) tmp.add(lst) encoded = tmp.encode({'len': 6}, {}) self.assertEqual(len(encoded.foo), 6)
def test_decode_dynamic_list(self): tmp = MessageTemplate('Dymagic', self._protocol, {}) tmp.add(UInt(2, 'len', None)) lst = ListTemplate('len', 'foo', parent=None) lst.add(UInt(1, 'bar', None)) tmp.add(lst) decoded = tmp.decode(to_bin('0x 00 04 6162 6364')) self.assertEquals(decoded.len.int, 4) self.assertEquals(decoded.foo[0].hex, '0x61')
def test_decode_dynamic_list(self): tmp = MessageTemplate('Dymagic', self._protocol, {}) tmp.add(UInt(2, 'len', None)) lst = ListTemplate('len', 'foo', parent=None) lst.add(UInt(1, 'bar', None)) tmp.add(lst) decoded = tmp.decode(to_bin('0x 00 04 6162 6364')) self.assertEqual(decoded.len.int, 4) self.assertEqual(decoded.foo[0].hex, '0x61')
def get_struct_list(): list = ListTemplate(2, 'liststruct', parent=None) list.add(get_pair()) return list
def get_list_list(): innerList = ListTemplate(2, None, parent=None) innerList.add(UInt(2, None, 7)) outerList = ListTemplate('2', 'listlist', parent=None) outerList.add(innerList) return outerList
def get_list_of_three(name='topthree', value=1): list = ListTemplate(3, name, parent=None) list.add(UInt(2, None, value)) return list
def _get_list_of_three(): list = ListTemplate(3, 'topthree', parent=None) list.add(UInt(2, None, 1)) return list
def test_non_existing_dynamic_list_variable(self): tmp = MessageTemplate('Dymagic', self._protocol, {}) lst = ListTemplate('not_existing', 'foo', parent=None) lst.add(UInt(1, 'bar', None)) self.assertRaises(Exception, tmp.add, lst)