X-Git-Url: https://code.kerkeslager.com/?a=blobdiff_plain;f=serial%2Ftest.py;h=ca80671518ee6d0c355f75e1ffbefeabca62a4e2;hb=HEAD;hp=6e176917477a2c0b4eea2e605c8c0752d1ba8124;hpb=6cb74967b5b52c7b072c0477aa19e52f30b67d7a;p=sandbox diff --git a/serial/test.py b/serial/test.py index 6e17691..ca80671 100644 --- a/serial/test.py +++ b/serial/test.py @@ -42,6 +42,33 @@ EXAMPLE_BINARY_REPRESENTATIONS = [ ), b'\x30\x00\x00\x00\x03\x01\x03\x07' ), + ( + tags.TaggedObject( + tag = tags.LIST, + instance = [ + tags.TaggedObject(tag = tags.UINT8, instance = 9), + tags.TaggedObject(tag = tags.UINT8, instance = 22), + tags.TaggedObject(tag = tags.UINT8, instance = 36), + ], + ), + b'\x31\x03\x00\x00\x00\x03\x09\x16\x24', + ), + ( + tags.TaggedObject( + tag = tags.OBJECT, + instance = [ + ( + tags.TaggedObject(tag = tags.UTF8, instance = 'foo'), + tags.TaggedObject(tag = tags.UTF8, instance = 'bar'), + ), + ( + tags.TaggedObject(tag = tags.UTF8, instance = 'baz'), + tags.TaggedObject(tag = tags.UINT8, instance = 42), + ), + ], + ), + b'\x32\x21\x00\x00\x00\x18\x00\x00\x00\x03foo\x21\x00\x00\x00\x03bar\x00\x00\x00\x03baz\x03\x2a', + ), ] class BinarySerializeTests(unittest.TestCase): @@ -76,6 +103,33 @@ EXAMPLE_TEXT_REPRESENTATIONS = [ (tags.TaggedObject(tags.UTF8, 'Lol!'), 'utf8"Lol!"'), (tags.TaggedObject(tags.UTF16, 'かわ'), 'utf16"かわ"'), (tags.TaggedObject(tags.UTF32, '漢'), 'utf32"漢"'), + ( + tags.TaggedObject( + tag = tags.LIST, + instance = [ + tags.TaggedObject(tag = tags.UINT8, instance = 9), + tags.TaggedObject(tag = tags.UINT8, instance = 22), + tags.TaggedObject(tag = tags.UINT8, instance = 36), + ], + ), + '[\n 9u8,\n 22u8,\n 36u8\n]' + ), + ( + tags.TaggedObject( + tag = tags.OBJECT, + instance = [ + ( + tags.TaggedObject(tag = tags.UTF8, instance = 'foo'), + tags.TaggedObject(tag = tags.UTF8, instance = 'bar'), + ), + ( + tags.TaggedObject(tag = tags.UTF8, instance = 'baz'), + tags.TaggedObject(tag = tags.UINT8, instance = 42), + ), + ], + ), + '{\n utf8"foo": utf8"bar",\n utf8"baz": 42u8\n}', + ), ] class TextSerializeTests(unittest.TestCase):