def testCorrectOffsetIsSetMiddleFieldSingleLevel(self):
     uut = self.get_default_field()
     first_field = String('Reykjavik', name='first_field')
     con = Container(name='container', fields=[first_field, uut])
     con.render()
     self.assertEqual(uut.get_offset(), len(first_field.render()))
     while con.mutate():
         con.render()
         self.assertEqual(uut.get_offset(), len(first_field.render()))
 def testAbsoluteOffsetOfPreFieldNotAtTheBeginning(self):
     uut = self.get_default_field()
     pre_field = String(name='first', value='first')
     container = Container(name='container', fields=[pre_field, self.to, uut])
     while container.mutate():
         container.render()
         uut_rendered = uut.render()
         uut_val = unpack('>I', uut_rendered.tobytes())[0]
         self.assertEqual(len(pre_field.render()), uut_val)
 def testCorrectionInt(self):
     self.correction = 5
     uut = self.get_default_field()
     pre_field = String(name='first', value='first')
     container = Container(name='container', fields=[pre_field, self.to, uut])
     while container.mutate():
         container.render()
         uut_rendered = uut.render()
         uut_val = unpack('>I', uut_rendered.tobytes())[0]
         self.assertEqual(len(pre_field.render()) + 5, uut_val)