X-Git-Url: https://code.kerkeslager.com/?p=ton;a=blobdiff_plain;f=test_binary.py;h=932a0308da71b4c35d9a9dfeba314b79e53f9c3f;hp=136d79436c98ced12e1362e87551112a869ee400;hb=HEAD;hpb=84861f9a8554ec3c5003770a94797ee27be11e7c diff --git a/test_binary.py b/test_binary.py index 136d794..932a030 100644 --- a/test_binary.py +++ b/test_binary.py @@ -1,7 +1,8 @@ +# -*- coding: utf-8 -*- import collections import unittest -from don import binary, tags +from ton import binary, tags class TestBinarySerialize(unittest.TestCase): def test_serializes_null(self): @@ -20,15 +21,6 @@ class TestBinarySerialize(unittest.TestCase): self.assertEqual(binary.serialize(1), b'\x12\x00\x00\x00\x01') self.assertEqual(binary.serialize(2147483647), b'\x12\x7f\xff\xff\xff') - def test_serializes_floats_into_binary64_with_network_byte_order(self): - self.assertEqual(binary.serialize(1.0), b'\x21\x3f\xf0\x00\x00\x00\x00\x00\x00') - self.assertEqual(binary.serialize(2.0), b'\x21\x40\x00\x00\x00\x00\x00\x00\x00') - self.assertEqual(binary.serialize(-2.0), b'\x21\xc0\x00\x00\x00\x00\x00\x00\x00') - self.assertEqual(binary.serialize(0.5), b'\x21\x3f\xe0\x00\x00\x00\x00\x00\x00') - self.assertEqual(binary.serialize(2.0 ** -1074), b'\x21\x00\x00\x00\x00\x00\x00\x00\x01') - self.assertEqual(binary.serialize(2.0 ** -1022), b'\x21\x00\x10\x00\x00\x00\x00\x00\x00') - self.assertEqual(binary.serialize(0.0), b'\x21\x00\x00\x00\x00\x00\x00\x00\x00') - def test_serializes_binary(self): self.assertEqual(binary.serialize(b'\xde\xad\xbe\xef'), b'\x30\x00\x00\x00\x04\xde\xad\xbe\xef') @@ -46,15 +38,13 @@ class TestBinarySerialize(unittest.TestCase): self.assertEqual(binary.serialize([]), b'\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00') self.assertEqual(binary.serialize([1,2,3]), b'\x40\x12\x00\x00\x00\x0c\x00\x00\x00\x03\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x03') self.assertEqual(binary.serialize(['Hello, world', 'Goodnight, moon']), b'\x40\x31\x00\x00\x00#\x00\x00\x00\x02\x00\x00\x00\x0cHello, world\x00\x00\x00\x0fGoodnight, moon') - self.assertEqual(binary.serialize([1.618, 2.718, 3.142]), b'\x40\x21\x00\x00\x00\x18\x00\x00\x00\x03?\xf9\xe3S\xf7\xce\xd9\x17@\x05\xbev\xc8\xb49X@\t"\xd0\xe5`A\x89') def test_serializes_dictionary(self): self.assertEqual(binary.serialize({}), b'\x41\x00\x00\x00\x00\x00\x00\x00\x00') self.assertEqual(binary.serialize(collections.OrderedDict([ ('foo',42), - ('bar',3.14), - ('baz','qux'), - ])), b'A\x00\x00\x00+\x00\x00\x00\x03\x00\x00\x00\x03foo\x12\x00\x00\x00*\x00\x00\x00\x03bar!@\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x03baz1\x00\x00\x00\x03qux') + ('bar','baz'), + ])), b'A\x00\x00\x00\x1d\x00\x00\x00\x021\x00\x00\x00\x03foo\x12\x00\x00\x00*1\x00\x00\x00\x03bar1\x00\x00\x00\x03baz') class TestBinaryDeserialize(unittest.TestCase): def test_deserializes_null(self): @@ -94,15 +84,6 @@ class TestBinaryDeserialize(unittest.TestCase): self.assertEqual(binary.deserialize(b'\x13\x00\x00\x00\x00\x00\x00\x00\x01'), 1) self.assertEqual(binary.deserialize(b'\x13\x7f\xff\xff\xff\xff\xff\xff\xff'), 9223372036854775807) - def test_deserializes_binary64_as_float(self): - self.assertEqual(binary.deserialize(b'\x21\x3f\xf0\x00\x00\x00\x00\x00\x00'), 1.0) - self.assertEqual(binary.deserialize(b'\x21\x40\x00\x00\x00\x00\x00\x00\x00'), 2.0) - self.assertEqual(binary.deserialize(b'\x21\xc0\x00\x00\x00\x00\x00\x00\x00'), -2.0) - self.assertEqual(binary.deserialize(b'\x21\x3f\xe0\x00\x00\x00\x00\x00\x00'), 0.5) - self.assertEqual(binary.deserialize(b'\x21\x00\x00\x00\x00\x00\x00\x00\x01'), 2.0 ** -1074) - self.assertEqual(binary.deserialize(b'\x21\x00\x10\x00\x00\x00\x00\x00\x00'), 2.0 ** -1022) - self.assertEqual(binary.deserialize(b'\x21\x00\x00\x00\x00\x00\x00\x00\x00'), 0.0) - def test_deserializes_binary(self): self.assertEqual(binary.deserialize(b'\x30\x00\x00\x00\x04\xde\xad\xbe\xef'), b'\xde\xad\xbe\xef')