Exemplo n.º 1
0
 def test_decode_embedded_value_field_table_value(self):
     value = decode._embedded_value(b'F' + self.FIELD_TBL)[1]
     for key in value.keys():
         if isinstance(value[key], float):
             self.assertAlmostEqual(round(value[key], 3),
                                    round(self.FIELD_TBL_VALUE[key], 3))
         else:
             self.assertEqual(value[key], self.FIELD_TBL_VALUE[key])
Exemplo n.º 2
0
 def test_decode_embedded_value_field_array_value(self):
     value = decode._embedded_value(b'A' + self.FIELD_ARR)[1]
     for position in range(0, len(value)):
         if isinstance(value[position], float):
             self.assertAlmostEqual(round(value[position], 3),
                                    round(self.FIELD_ARR_VALUE[position],
                                          3))
         else:
             self.assertEqual(value[position],
                              self.FIELD_ARR_VALUE[position])
Exemplo n.º 3
0
 def test_decode_embedded_value_field_table_data_type(self):
     self.assertIsInstance(decode._embedded_value(b'F' + self.FIELD_TBL)[1],
                           dict)
Exemplo n.º 4
0
 def test_decode_embedded_value_field_array_bytes_consumed(self):
     self.assertEqual(decode._embedded_value(b'A' +
                                             self.FIELD_ARR)[0],
                      len(b'A' + self.FIELD_ARR))
Exemplo n.º 5
0
 def test_decode_embedded_value_timestamp_data_type(self):
     value = b'T\x00\x00\x00\x00Ec)\x92'
     self.assertIsInstance(decode._embedded_value(value)[1],
                           time.struct_time)
Exemplo n.º 6
0
 def test_decode_embedded_value_short_value(self):
     self.assertEqual(decode._embedded_value(b's\x7f\xff')[1], 32767)
Exemplo n.º 7
0
 def test_decode_embedded_value_short_bytes_consumed(self):
     value = b's\x7f\xff'
     self.assertEqual(decode._embedded_value(value)[0], 3)
Exemplo n.º 8
0
 def test_decode_embedded_value_longstr_data_type_unicode(self):
     value = (b'S\x00\x00\x00\x0c\xd8\xa7\xd8\xae\xd8\xaa\xd8\xa8\xd8'
              b'\xa7\xd8\xb1')
     self.assertIsInstance(decode._embedded_value(value)[1], bytes)
Exemplo n.º 9
0
 def test_decode_embedded_value_decimal_data_type(self):
     value = b'D\x05\x00\x04\xcb/'
     self.assertIsInstance(decode._embedded_value(value)[1],
                           decimal.Decimal)
Exemplo n.º 10
0
 def test_decode_embedded_value_decimal_bytes_consumed(self):
     value = b'D\x05\x00\x04\xcb/'
     self.assertEqual(decode._embedded_value(value)[0], len(value))
Exemplo n.º 11
0
 def test_decode_embedded_value_empty_value(self):
     self.assertEqual(decode._embedded_value(b'')[1], None)
Exemplo n.º 12
0
 def test_decode_embedded_value_empty_bytes_consumed(self):
     self.assertEqual(decode._embedded_value(b'')[0], 0)
Exemplo n.º 13
0
 def test_decode_embedded_value_null(self):
     self.assertEqual(decode._embedded_value(b'\00')[1], None)
Exemplo n.º 14
0
 def test_field_embedded_value_field_table_keys(self):
     value = decode._embedded_value(b'F' + self.FIELD_TBL)[1]
     self.assertListEqual(sorted(value.keys()),
                          sorted(self.FIELD_TBL_VALUE.keys()))
Exemplo n.º 15
0
 def test_decode_embedded_value_void_value(self):
     self.assertIsNone(decode._embedded_value(b'V')[1])
Exemplo n.º 16
0
 def test_field_embedded_value_field_table_keys(self):
     value = decode._embedded_value(b'F' + self.FIELD_TBL)[1]
     self.assertListEqual(sorted(value.keys()),
                          sorted(self.FIELD_TBL_VALUE.keys()))
Exemplo n.º 17
0
 def test_decode_embedded_value_byte_array_data_type(self):
     value = b'x\x00\x00\x00\x03ABC'
     self.assertIsInstance(decode._embedded_value(value)[1], bytearray)
Exemplo n.º 18
0
 def test_decode_embedded_value_decimal_value(self):
     value = b'D\x05\x00\x04\xcb/'
     self.assertEqual(round(float(decode._embedded_value(value)[1]), 5),
                      round(float(decimal.Decimal('3.14159')), 5))
Exemplo n.º 19
0
 def test_decode_embedded_value_longstr_value(self):
     value = b'S\x00\x00\x00\n0123456789'
     self.assertEqual(decode._embedded_value(value)[1], b'0123456789')
Exemplo n.º 20
0
 def test_decode_embedded_value_long_value(self):
     value = b'I\x7f\xff\xff\xff'
     self.assertEqual(decode._embedded_value(value)[1], 2147483647)
Exemplo n.º 21
0
 def test_decode_embedded_value_short_data_type(self):
     value = b's\x7f\xff'
     self.assertIsInstance(decode._embedded_value(value)[1], int)
Exemplo n.º 22
0
 def test_decode_embedded_value_long_long_bytes_consumed(self):
     value = b'l\x7f\xff\xff\xff\xff\xff\xff\xf8'
     self.assertEqual(decode._embedded_value(value)[0], 9)
Exemplo n.º 23
0
 def test_decode_embedded_value_timestamp_bytes_consumed(self):
     value = b'T\x00\x00\x00\x00Ec)\x92'
     self.assertEqual(decode._embedded_value(value)[0], 9)
Exemplo n.º 24
0
 def test_decode_embedded_value_long_long_data_type(self):
     value = b'l\x7f\xff\xff\xff\xff\xff\xff\xf8'
     self.assertIsInstance(decode._embedded_value(value)[1], int)
Exemplo n.º 25
0
 def test_decode_embedded_value_timestamp_value(self):
     value = b'T\x00\x00\x00\x00Ec)\x92'
     self.assertEqual(decode._embedded_value(value)[1],
                      time.struct_time((2006, 11, 21, 16, 30, 10, 1,
                                        325, 0)))
Exemplo n.º 26
0
 def test_decode_embedded_value_long_long_value(self):
     value = b'l\x7f\xff\xff\xff\xff\xff\xff\xf8'
     self.assertEqual(decode._embedded_value(value)[1],
                      9223372036854775800)
Exemplo n.º 27
0
 def test_decode_embedded_value_field_array_data_type(self):
     self.assertIsInstance(decode._embedded_value(b'A' +
                           self.FIELD_ARR)[1], list)
Exemplo n.º 28
0
 def test_decode_embedded_value_longstr_bytes_consumed(self):
     value = b'S\x00\x00\x00\n0123456789'
     self.assertEqual(decode._embedded_value(value)[0], 15)
Exemplo n.º 29
0
 def test_decode_embedded_value_field_table_bytes_consumed(self):
     self.assertEqual(decode._embedded_value(b'F' + self.FIELD_TBL)[0],
                      len(b'F' + self.FIELD_TBL))
Exemplo n.º 30
0
 def test_decode_embedded_value_longstr_data_type(self):
     value = b'S\x00\x00\x00\n0123456789'
     expectation = bytes if PYTHON3 else str
     self.assertIsInstance(decode._embedded_value(value)[1],
                           expectation)
Exemplo n.º 31
0
 def test_decode_embedded_value_byte_array_data(self):
     value = b'x\x00\x00\x00\x03ABC'
     self.assertEqual(decode._embedded_value(value)[1],
                      bytearray([65, 66, 67]))
Exemplo n.º 32
0
 def test_decode_embedded_value_void_value(self):
     self.assertIsNone(decode._embedded_value(b'V')[1])