D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
dill
/
tests
/
Filename :
test_dataclasses.py
back
Copy
#!/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()