| Server IP : 46.245.81.90 / Your IP : 216.73.216.85 Web Server : Apache System : Linux server3ir.xdlhost.com 4.18.0-553.30.1.lve.el8.x86_64 #1 SMP Tue Dec 3 01:21:19 UTC 2024 x86_64 User : gmparts ( 1037) PHP Version : 8.1.34 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/dill/tests/ |
Upload File : |
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Author: Anirudh Vegesana (avegesan@cs.stanford.edu)
# Copyright (c) 2022-2023 The Uncertainty Quantification Foundation.
# License: 3-clause BSD. The full license text is available at:
# - https://github.com/uqfoundation/dill/blob/master/LICENSE
"""
test pickling a dataclass
"""
import dill
import dataclasses
def test_dataclasses():
# Issue #500
@dataclasses.dataclass
class A:
x: int
y: str
@dataclasses.dataclass
class B:
a: A
a = A(1, "test")
before = B(a)
save = dill.dumps(before)
after = dill.loads(save)
assert before != after # classes don't match
assert before == B(A(**dataclasses.asdict(after.a)))
assert dataclasses.asdict(before) == dataclasses.asdict(after)
if __name__ == '__main__':
test_dataclasses()