MCPcopy
hub / github.com/faust-streaming/faust / test_decimals_compat

Function test_decimals_compat

tests/functional/test_models.py:324–386  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

322
323
324def test_decimals_compat():
325 class IsDecimal(Record, coerce=False, decimals=True, serializer="json"):
326 number: Decimal
327
328 class ListOfDecimal(Record, coerce=False, decimals=True, serializer="json"):
329 numbers: List[Decimal]
330
331 class OptionalListOfDecimal(Record, coerce=False, decimals=True, serializer="json"):
332 numbers: List[Decimal] = None
333
334 class OptionalListOfDecimal2(
335 Record, coerce=False, decimals=True, serializer="json"
336 ):
337 numbers: Optional[List[Decimal]]
338
339 class TupleOfDecimal(Record, coerce=False, decimals=True, serializer="json"):
340 numbers: Tuple[Decimal, ...]
341
342 class SetOfDecimal(Record, coerce=False, decimals=True, serializer="json"):
343 numbers: Set[Decimal]
344
345 class MapOfDecimal(Record, coerce=False, decimals=True, serializer="json"):
346 numbers: Mapping[str, Decimal]
347
348 n1 = Decimal("1.31341324")
349 assert IsDecimal.loads(IsDecimal(number=n1).dumps()).number == n1
350 n2 = Decimal("3.41569")
351 assert ListOfDecimal.loads(ListOfDecimal(numbers=[n1, n2]).dumps()).numbers == [
352 n1,
353 n2,
354 ]
355 assert (
356 OptionalListOfDecimal.loads(OptionalListOfDecimal(numbers=None).dumps()).numbers
357 is None
358 )
359 assert OptionalListOfDecimal.loads(
360 OptionalListOfDecimal(numbers=[n2, n1]).dumps()
361 ).numbers == [n2, n1]
362 assert (
363 OptionalListOfDecimal2.loads(
364 OptionalListOfDecimal2(numbers=None).dumps()
365 ).numbers
366 is None
367 )
368 assert OptionalListOfDecimal2.loads(
369 OptionalListOfDecimal2(numbers=[n1, n2]).dumps()
370 ).numbers == [n1, n2]
371 assert TupleOfDecimal.loads(TupleOfDecimal(numbers=(n1, n2)).dumps()).numbers == (
372 n1,
373 n2,
374 )
375 assert TupleOfDecimal.loads(TupleOfDecimal(numbers=(n2,)).dumps()).numbers == (n2,)
376 assert SetOfDecimal.loads(SetOfDecimal(numbers={n1, n2}).dumps()).numbers == {
377 n1,
378 n2,
379 }
380 assert MapOfDecimal.loads(
381 MapOfDecimal(numbers={"A": n1, "B": n2}).dumps()

Callers

nothing calls this directly

Calls 10

IsDecimalClass · 0.85
ListOfDecimalClass · 0.85
TupleOfDecimalClass · 0.85
SetOfDecimalClass · 0.85
MapOfDecimalClass · 0.85
loadsMethod · 0.45
dumpsMethod · 0.45
from_dataMethod · 0.45

Tested by

no test coverage detected