Exemplo n.º 1
0
 def decode(self, data, parent=None, name=None, little_endian=False):
     self._verify_not_little_endian(little_endian)
     container = self._get_struct(name, parent)
     a = to_tbcd_value(data)
     index = 0
     for field in self._fields.values():
         field_length = field.length.decode(container, len(data) * 2 - index)
         container[field.name] = Field(field.type, field.name, to_tbcd_binary(a[index:index + field_length]))
         index += field_length
     return container
Exemplo n.º 2
0
 def _default_presentation_format(self, value):
     return to_tbcd_value(value)
Exemplo n.º 3
0
 def test_to_tbcd_value(self):
     self.assertEquals("1", to_tbcd_value(to_bin("0b11110001")))
     self.assertEquals("11", to_tbcd_value(to_bin("0b00010001")))
     self.assertEquals("2", to_tbcd_value(to_bin("0b11110010")))
     self.assertEquals("23", to_tbcd_value(to_bin("0b00110010")))
     self.assertEquals("123", to_tbcd_value(to_bin("0b0010000111110011")))
Exemplo n.º 4
0
 def _default_presentation_format(self, value):
     return to_tbcd_value(value)
Exemplo n.º 5
0
 def test_to_tbcd_value(self):
     self.assertEquals('1', to_tbcd_value(to_bin('0b11110001')))
     self.assertEquals('11', to_tbcd_value(to_bin('0b00010001')))
     self.assertEquals('2', to_tbcd_value(to_bin('0b11110010')))
     self.assertEquals('23', to_tbcd_value(to_bin('0b00110010')))
     self.assertEquals('123', to_tbcd_value(to_bin('0b0010000111110011')))