MCPcopy Create free account
hub / github.com/apache/fory / test_basic_serializer

Function test_basic_serializer

python/pyfory/tests/test_serializer.py:152–192  ·  view source on GitHub ↗
(xlang)

Source from the content-addressed store, hash-verified

150
151@pytest.mark.parametrize("xlang", [True, False])
152def test_basic_serializer(xlang):
153 fory = Fory(xlang=xlang, ref=True, compatible=xlang)
154 typeinfo = fory.type_resolver.get_type_info(datetime.datetime)
155 assert isinstance(typeinfo.serializer, TimestampSerializer)
156 if xlang:
157 assert typeinfo.type_id == TypeId.TIMESTAMP
158 typeinfo = fory.type_resolver.get_type_info(datetime.date)
159 assert isinstance(typeinfo.serializer, DateSerializer)
160 if xlang:
161 assert typeinfo.type_id == TypeId.DATE
162 typeinfo = fory.type_resolver.get_type_info(decimal.Decimal)
163 assert isinstance(typeinfo.serializer, DecimalSerializer)
164 if xlang:
165 assert typeinfo.type_id == TypeId.DECIMAL
166 assert ser_de(fory, True) is True
167 assert ser_de(fory, False) is False
168 assert ser_de(fory, -1) == -1
169 assert ser_de(fory, 2**7 - 1) == 2**7 - 1
170 assert ser_de(fory, 2**15 - 1) == 2**15 - 1
171 assert ser_de(fory, -(2**15)) == -(2**15)
172 assert ser_de(fory, 2**31 - 1) == 2**31 - 1
173 assert ser_de(fory, 2**63 - 1) == 2**63 - 1
174 assert ser_de(fory, -(2**63)) == -(2**63)
175 assert ser_de(fory, 1.0) == 1.0
176 assert ser_de(fory, -1.0) == -1.0
177 assert ser_de(fory, "str") == "str"
178 assert ser_de(fory, decimal.Decimal("1234567890.0123456789")) == decimal.Decimal("1234567890.0123456789")
179 assert ser_de(fory, decimal.Decimal("0.000")) == decimal.Decimal("0.000")
180 assert ser_de(fory, b"") == b""
181 now = datetime.datetime.now(datetime.timezone.utc)
182 assert ser_de(fory, now) == now
183 day = datetime.date(2021, 11, 23)
184 assert ser_de(fory, day) == day
185 list_ = ["a", 1, -1.0, True, now, day]
186 assert ser_de(fory, list_) == list_
187 dict1_ = {"k1": "a", "k2": 1, "k3": -1.0, "k4": True, "k5": now, "k6": day}
188 assert ser_de(fory, dict1_) == dict1_
189 dict2_ = {"a": "a", 1: 1, -1.0: -1.0, True: True, now: now, day: day} # noqa: F601
190 assert ser_de(fory, dict2_) == dict2_
191 set_ = {"a", 1, -1.0, True, now, day}
192 assert ser_de(fory, set_) == set_
193
194
195def test_float16_round_trip():

Callers

nothing calls this directly

Calls 4

ForyClass · 0.90
ser_deFunction · 0.70
get_type_infoMethod · 0.45
DecimalMethod · 0.45

Tested by

no test coverage detected