X-Git-Url: https://code.kerkeslager.com/?p=ton;a=blobdiff_plain;f=test_don.py;fp=test_don.py;h=6d5ed81359e66789c2a3f37c0928db7280e409b6;hp=1eb8f5d92237e4eb1fa99c9b20eb26daff7a9e9b;hb=30c21d4218bece6ae4d3671d6e02f1421c816976;hpb=9bc21c12de07b6bacc384371d73601c1bfcfe95c diff --git a/test_don.py b/test_don.py index 1eb8f5d..6d5ed81 100644 --- a/test_don.py +++ b/test_don.py @@ -1,9 +1,7 @@ import collections import unittest -import don -from don import binary -from don import string +from don import * class TestBinarySerialize(unittest.TestCase): def test_serializes_null(self): @@ -116,7 +114,64 @@ class TestBinaryDeserialize(unittest.TestCase): class TestStringSerialize(unittest.TestCase): - pass + def test_serializes_null(self): + self.assertEqual(string.serialize(None), 'null') + + def test_serializes_true(self): + self.assertEqual(string.serialize(True), 'true') + + def test_serializes_false(self): + self.assertEqual(string.serialize(False), 'false') + + def test_serializes_int8(self): + self.assertEqual(string.serialize(TaggedObject(INT8, 1)), '1i8') + self.assertEqual(string.serialize(TaggedObject(INT8, -1)), '-1i8') + self.assertEqual(string.serialize(TaggedObject(INT8, 42)), '42i8') + + def test_serializes_int16(self): + self.assertEqual(string.serialize(TaggedObject(INT16, 1)), '1i16') + self.assertEqual(string.serialize(TaggedObject(INT16, -1)), '-1i16') + self.assertEqual(string.serialize(TaggedObject(INT16, 42)), '42i16') + + def test_serializes_int32(self): + self.assertEqual(string.serialize(TaggedObject(INT32, 1)), '1i32') + self.assertEqual(string.serialize(TaggedObject(INT32, -1)), '-1i32') + self.assertEqual(string.serialize(TaggedObject(INT32, 42)), '42i32') + + def test_serializes_int64(self): + self.assertEqual(string.serialize(TaggedObject(INT64, 1)), '1i64') + self.assertEqual(string.serialize(TaggedObject(INT64, -1)), '-1i64') + self.assertEqual(string.serialize(TaggedObject(INT64, 42)), '42i64') + + def test_serializes_float(self): + self.assertEqual(string.serialize(TaggedObject(FLOAT, 1.0)), '1.0f') + + def test_serializes_double(self): + self.assertEqual(string.serialize(TaggedObject(DOUBLE, 1.0)), '1.0d') + + def test_serializes_binary(self): + self.assertEqual(string.serialize(TaggedObject(BINARY, b'\xde\xad\xbe\xef')), '"deadbeef"b') + + def test_serializes_utf8(self): + self.assertEqual(string.serialize(TaggedObject(UTF8, 'Hello, world')), '"Hello, world"utf8') + + def test_serializes_utf16(self): + self.assertEqual(string.serialize(TaggedObject(UTF16, 'Hello, world')), '"Hello, world"utf16') + + def test_serializes_utf32(self): + self.assertEqual(string.serialize(TaggedObject(UTF32, 'Hello, world')), '"Hello, world"utf32') + + def test_serializes_list(self): + self.assertEqual(string.serialize(TaggedObject(LIST, [1,2,3])), '[1i32, 2i32, 3i32]') + + def test_serializes_dictionary(self): + self.assertEqual( + string.serialize(TaggedObject(DICTIONARY, collections.OrderedDict([ + ('foo', 1), + ('bar', 'baz'), + ]))), + '{ "foo"utf8: 1i32, "bar"utf8: "baz"utf8 }' + ) class TestStringDeserialize(unittest.TestCase): pass