示例#1
0
def get_struct_with_length_and_alignment():
    struct = StructTemplate('Pair', 'pair', parent=None, align=4)
    struct.add(UInt(2, 'first', 1))
    struct.add(UInt(1, 'second', 2))
    return struct
示例#2
0
def get_struct_with_two_lists(name='pair'):
    struct = StructTemplate('PairOfLists', name, parent=None)
    struct.add(get_list_of_three('first_list', None))
    struct.add(get_list_of_three('second_list', None))
    return struct
示例#3
0
def get_empty_pair(name='pair'):
    struct = StructTemplate('Pair', name, parent=None)
    struct.add(UInt(2, 'first', None))
    struct.add(UInt(2, 'second', None))
    return struct
示例#4
0
def get_recursive_struct():
    str_str = StructTemplate('StructStruct', 'str_str', parent=None)
    inner = get_pair()
    str_str.add(inner)
    return str_str
示例#5
0
def get_pair():
    struct = StructTemplate('Pair', 'pair', parent=None)
    struct.add(UInt(2, 'first', 1))
    struct.add(UInt(2, 'second', 2))
    return struct
 def test_add_field_with_length_reference_missing(self):
     tmp = MessageTemplate('Dymagic', self._protocol, {})
     tmp.add(UInt(2, 'len', None))
     str = StructTemplate('FooType', 'foo', tmp)
     self.assertRaises(AssertionError, str.add, Char('notfound', "bar"))
 def test_add_field_with_length_reference_to_parent(self):
     tmp = MessageTemplate('Dymagic', self._protocol, {})
     tmp.add(UInt(2, 'len', None))
     str = StructTemplate('FooType', 'foo', tmp)
     str.add(Char('len', "bar"))