From 91fdb90d60e24ce3d6ff35e3a6b9e2e64c8112ff Mon Sep 17 00:00:00 2001 From: Arjan Zijderveld <5286904+arjanz@users.noreply.github.com> Date: Fri, 3 Jan 2025 13:40:03 +0100 Subject: [PATCH] Changed Map serialization to list of tuples --- jamcodec/types.py | 7 ++----- test/test_hashmap.py | 2 +- test/test_map.py | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/jamcodec/types.py b/jamcodec/types.py index 3987aa2..8ba065f 100644 --- a/jamcodec/types.py +++ b/jamcodec/types.py @@ -978,11 +978,8 @@ def decode(self, data: JamBytes) -> list: return value - def serialize(self, value: list) -> dict: - output = {} - for k, v in value: - output[k.value_serialized] = v.value_serialized - return output + def serialize(self, value: list) -> typing.List[typing.Tuple]: + return [(k.value_serialized, v.value_serialized) for k, v in value] def deserialize(self, value: Union[dict, list]) -> list: if type(value) is dict: diff --git a/test/test_hashmap.py b/test/test_hashmap.py index aa77a45..3d90618 100644 --- a/test/test_hashmap.py +++ b/test/test_hashmap.py @@ -31,7 +31,7 @@ def test_hashmap_encode(self): def test_hashmap_decode(self): obj = HashMap(String, U32).new() data = JamBytes("0x04013102000000023233180000000232381e00000002343550000000") - self.assertEqual({'1': 2, '23': 24, '28': 30, '45': 80}, obj.decode(data)) + self.assertEqual([('1', 2), ('23', 24), ('28', 30), ('45', 80)], obj.decode(data)) if __name__ == '__main__': diff --git a/test/test_map.py b/test/test_map.py index 4ba463f..ef24f1c 100644 --- a/test/test_map.py +++ b/test/test_map.py @@ -44,7 +44,7 @@ def test_map_decode(self): obj.decode(JamBytes('0x01020000000474657374')) - self.assertEqual({2: '0x74657374'}, obj.serialize()) + self.assertEqual([(2, '0x74657374')], obj.serialize()) self.assertEqual({2: b'test'}, obj.to_serializable_obj())