Example #1
0
    def test_from_ctype(self):
        ae = self.assertEqual

        data_le = (b"\xFF\xFF"
                   b"\x03"
                   b"\x01"
                   b"\x01\x02\x03\x04"
                   b"\x05\x06\x07\x08\x09\x0A\x0B\x0C")

        data_be = (b"\xFF\xFF"
                   b"\x03"
                   b"\x01"
                   b"\x04\x03\x02\x01"
                   b"\x0C\x0B\x0A\x09\x08\x07\x06\x05")

        value = (0x04030201 << 64) | 0x0C0B0A0908070605
        value = -value
        value = Decimal(value) / Decimal(10**3)

        value_le = decimal_le.from_buffer_copy(data_le)
        value_le = DECIMALToDecimal.from_ctype(value_le)

        value_be = decimal_be.from_buffer_copy(data_be)
        value_be = DECIMALToDecimal.from_ctype(value_be)

        ae(value_le, value)
        ae(value_be, value)
Example #2
0
    def test_from_stream(self):
        ae = self.assertEqual

        data_le = (b"\xFF\xFF"
                   b"\x03"
                   b"\x01"
                   b"\x01\x02\x03\x04"
                   b"\x05\x06\x07\x08\x09\x0A\x0B\x0C")

        data_be = (b"\xFF\xFF"
                   b"\x03"
                   b"\x01"
                   b"\x04\x03\x02\x01"
                   b"\x0C\x0B\x0A\x09\x08\x07\x06\x05")

        value = (0x04030201 << 64) | 0x0C0B0A0908070605
        value = -value
        value = Decimal(value) / Decimal(10**3)

        value_le = DECIMALToDecimal.from_stream(ByteIStream(data_le),
                                                byte_order=LITTLE_ENDIAN)

        value_be = DECIMALToDecimal.from_stream(ByteIStream(data_be),
                                                byte_order=BIG_ENDIAN)

        ae(value_le, value)
        ae(value_be, value)
Example #3
0
    def test_from_stream(self):
        ae = self.assertEqual

        data_le = b"\xFF\xFF" b"\x03" b"\x01" b"\x01\x02\x03\x04" b"\x05\x06\x07\x08\x09\x0A\x0B\x0C"

        data_be = b"\xFF\xFF" b"\x03" b"\x01" b"\x04\x03\x02\x01" b"\x0C\x0B\x0A\x09\x08\x07\x06\x05"

        value = (0x04030201 << 64) | 0x0C0B0A0908070605
        value = -value
        value = Decimal(value) / Decimal(10 ** 3)

        value_le = DECIMALToDecimal.from_stream(ByteIStream(data_le), byte_order=LITTLE_ENDIAN)

        value_be = DECIMALToDecimal.from_stream(ByteIStream(data_be), byte_order=BIG_ENDIAN)

        ae(value_le, value)
        ae(value_be, value)
Example #4
0
    def test_from_ctype(self):
        ae = self.assertEqual

        data_le = b"\xFF\xFF" b"\x03" b"\x01" b"\x01\x02\x03\x04" b"\x05\x06\x07\x08\x09\x0A\x0B\x0C"

        data_be = b"\xFF\xFF" b"\x03" b"\x01" b"\x04\x03\x02\x01" b"\x0C\x0B\x0A\x09\x08\x07\x06\x05"

        value = (0x04030201 << 64) | 0x0C0B0A0908070605
        value = -value
        value = Decimal(value) / Decimal(10 ** 3)

        value_le = decimal_le.from_buffer_copy(data_le)
        value_le = DECIMALToDecimal.from_ctype(value_le)

        value_be = decimal_be.from_buffer_copy(data_be)
        value_be = DECIMALToDecimal.from_ctype(value_be)

        ae(value_le, value)
        ae(value_be, value)