File: test_serialization_conflicting_union.py

package info (click to toggle)
python-apischema 0.18.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 1,608 kB
  • sloc: python: 15,266; sh: 7; makefile: 7
file content (16 lines) | stat: -rw-r--r-- 488 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from dataclasses import dataclass
from typing import Tuple, Union

import apischema


@dataclass(frozen=True)
class SomeTupleClass:
    bar: Union[Tuple[int, int], Tuple[int, int, int]]


def test_correct_serialization() -> None:
    serialized_dict = {"bar": [0, 0, 0]}
    as_python_object = apischema.deserialize(type=SomeTupleClass, data=serialized_dict)
    assert as_python_object == SomeTupleClass(bar=(0, 0, 0))
    assert apischema.serialize(as_python_object) == serialized_dict