66
77def test_json_codec_encode_decode ():
88 codec = JsonMessageCodec ()
9-
9+
1010 original_message = Message (name = "test" , value = 42 , active = True )
1111 encoded = codec .encode (original_message )
12- wire_encoding = encoded .encode (' utf-8' ) # simulate wire encoding
12+ wire_encoding = encoded .encode (" utf-8" ) # simulate wire encoding
1313 decoded = codec .decode (wire_encoding , Message )
14-
14+
1515 assert isinstance (encoded , str )
1616 assert isinstance (decoded , Message )
1717 assert decoded .name == "test"
@@ -21,17 +21,13 @@ def test_json_codec_encode_decode():
2121
2222def test_json_codec_nested_data ():
2323 codec = JsonMessageCodec ()
24-
25- nested_data = {
26- "coordinates" : [1.0 , 2.0 , 3.0 ],
27- "metadata" : {"author" : "test" , "version" : 1 },
28- "tags" : ["geometry" , "point" ]
29- }
30-
24+
25+ nested_data = {"coordinates" : [1.0 , 2.0 , 3.0 ], "metadata" : {"author" : "test" , "version" : 1 }, "tags" : ["geometry" , "point" ]}
26+
3127 original_message = Message (** nested_data )
32- encoded = codec .encode (original_message ).encode (' utf-8' )
28+ encoded = codec .encode (original_message ).encode (" utf-8" )
3329 decoded = codec .decode (encoded , Message )
34-
30+
3531 assert decoded .coordinates == [1.0 , 2.0 , 3.0 ]
3632 assert decoded .metadata ["author" ] == "test"
3733 assert decoded .metadata ["version" ] == 1
@@ -40,9 +36,9 @@ def test_json_codec_nested_data():
4036
4137def test_json_codec_empty_message ():
4238 codec = JsonMessageCodec ()
43-
39+
4440 original_message = Message ()
45- encoded = codec .encode (original_message ).encode (' utf-8' )
41+ encoded = codec .encode (original_message ).encode (" utf-8" )
4642 decoded = codec .decode (encoded , Message )
4743
4844 assert isinstance (decoded , Message )
@@ -52,23 +48,15 @@ def test_json_codec_empty_message():
5248def test_json_codec_roundtrip ():
5349 """Test JSON codec maintains data integrity through multiple encode/decode cycles."""
5450 codec = JsonMessageCodec ()
55-
56- original_message = Message (
57- string_val = "hello world" ,
58- int_val = 123 ,
59- float_val = 3.14159 ,
60- bool_val = True ,
61- null_val = None ,
62- list_val = [1 , 2 , 3 ],
63- dict_val = {"key" : "value" }
64- )
65-
51+
52+ original_message = Message (string_val = "hello world" , int_val = 123 , float_val = 3.14159 , bool_val = True , null_val = None , list_val = [1 , 2 , 3 ], dict_val = {"key" : "value" })
53+
6654 # Multiple roundtrips
6755 current = original_message
6856 for _ in range (3 ):
69- encoded = codec .encode (current ).encode (' utf-8' )
57+ encoded = codec .encode (current ).encode (" utf-8" )
7058 current = codec .decode (encoded , Message )
71-
59+
7260 assert current .string_val == "hello world"
7361 assert current .int_val == 123
7462 assert current .float_val == 3.14159
@@ -80,12 +68,12 @@ def test_json_codec_roundtrip():
8068
8169def test_protobuf_codec_encode_decode ():
8270 codec = ProtobufMessageCodec ()
83-
71+
8472 # Test with simple message
8573 original_message = Message (name = "test" , value = 42 , active = True , frame = Frame .worldXY ())
8674 encoded = codec .encode (original_message .data )
8775 decoded = codec .decode (encoded , dict )
88-
76+
8977 assert isinstance (encoded , bytes )
9078 assert isinstance (decoded , dict )
9179 assert decoded ["name" ] == "test"
@@ -99,17 +87,13 @@ def test_protobuf_codec_encode_decode():
9987def test_protobuf_codec_nested_data ():
10088 """Test Protobuf codec handles nested data structures."""
10189 codec = ProtobufMessageCodec ()
102-
103- nested_data = {
104- "coordinates" : [1.0 , 2.0 , 3.0 ],
105- "metadata" : {"author" : "test" , "version" : 1 },
106- "tags" : ["geometry" , "point" ]
107- }
108-
90+
91+ nested_data = {"coordinates" : [1.0 , 2.0 , 3.0 ], "metadata" : {"author" : "test" , "version" : 1 }, "tags" : ["geometry" , "point" ]}
92+
10993 original_message = Message (** nested_data )
11094 encoded = codec .encode (original_message .data )
11195 decoded = codec .decode (encoded )
112-
96+
11397 assert decoded ["coordinates" ] == [1.0 , 2.0 , 3.0 ]
11498 assert decoded ["metadata" ]["author" ] == "test"
11599 assert decoded ["metadata" ]["version" ] == 1
@@ -119,23 +103,16 @@ def test_protobuf_codec_nested_data():
119103def test_protobuf_codec_roundtrip ():
120104 """Test Protobuf codec maintains data integrity through multiple encode/decode cycles."""
121105 codec = ProtobufMessageCodec ()
122-
123- original_message = Message (
124- string_val = "hello world" ,
125- int_val = 123 ,
126- float_val = 3.14159 ,
127- bool_val = True ,
128- list_val = [1 , 2 , 3 ],
129- dict_val = {"key" : "value" }
130- )
106+
107+ original_message = Message (string_val = "hello world" , int_val = 123 , float_val = 3.14159 , bool_val = True , list_val = [1 , 2 , 3 ], dict_val = {"key" : "value" })
131108 original_message = original_message .data
132-
109+
133110 # Multiple roundtrips
134111 current = original_message
135112 for _ in range (3 ):
136113 encoded = codec .encode (current )
137114 current = codec .decode (encoded )
138-
115+
139116 assert current ["string_val" ] == "hello world"
140117 assert current ["int_val" ] == 123
141118 assert current ["float_val" ] == 3.14159
@@ -148,22 +125,17 @@ def test_codec_compatibility():
148125 """Test that both codecs produce equivalent results for the same message."""
149126 json_codec = JsonMessageCodec ()
150127 protobuf_codec = ProtobufMessageCodec ()
151-
152- original_message = Message (
153- name = "compatibility_test" ,
154- count = 100 ,
155- enabled = False ,
156- data = [1 , 2 , 3 , 4 , 5 ]
157- )
158-
128+
129+ original_message = Message (name = "compatibility_test" , count = 100 , enabled = False , data = [1 , 2 , 3 , 4 , 5 ])
130+
159131 # Encode with both codecs
160- json_encoded = json_codec .encode (original_message ).encode (' utf-8' )
132+ json_encoded = json_codec .encode (original_message ).encode (" utf-8" )
161133 protobuf_encoded = protobuf_codec .encode (original_message .data )
162-
134+
163135 # Decode with respective codecs
164136 json_decoded = json_codec .decode (json_encoded , Message )
165137 protobuf_decoded = protobuf_codec .decode (protobuf_encoded , Message )
166-
138+
167139 # Both should produce equivalent messages
168140 assert json_decoded ["name" ] == protobuf_decoded ["name" ] == "compatibility_test"
169141 assert json_decoded ["count" ] == protobuf_decoded ["count" ] == 100
0 commit comments