68 lines
2.1 KiB
Python
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
|