qubed/tests/test_conversions.py
2025-05-14 10:14:02 +01:00

68 lines
2.1 KiB
Python

from qubed import Qube
def test_json_round_trip():
from_dict = Qube.from_dict(
{
"class=d1": {
"dataset=climate-dt/weather-dt": {
"generation=1/2/3/4": {},
},
"dataset=another-value": {
"generation=1/2/3": {},
},
}
}
)
from_tree = Qube.from_tree("""
root, class=d1
├── dataset=another-value, generation=1/2/3
└── dataset=climate-dt/weather-dt, generation=1/2/3/4
""")
from_json = Qube.from_json(
{
"key": "root",
"values": ["root"],
"metadata": {},
"children": [
{
"key": "class",
"values": ["d1"],
"metadata": {},
"children": [
{
"key": "dataset",
"values": ["another-value"],
"metadata": {},
"children": [
{
"key": "generation",
"values": ["1", "2", "3"],
"metadata": {},
"children": [],
}
],
},
{
"key": "dataset",
"values": ["climate-dt", "weather-dt"],
"metadata": {},
"children": [
{
"key": "generation",
"values": ["1", "2", "3", "4"],
"metadata": {},
"children": [],
}
],
},
],
}
],
}
)
assert from_tree == from_json
assert from_tree == from_dict