Files
scgenerator/testing/test_new_params.py
Benoît Sierro 74cb057dbe new param system
2021-06-10 12:49:09 +02:00

38 lines
1019 B
Python

from numba.core import config
from scgenerator.initialize import Config, Params, BareParams
from scgenerator.utils import variable_iterator, override_config
from scgenerator.io import load_toml
from pprint import pprint
from dataclasses import asdict
dico = load_toml("testing/configs/ensure_consistency/good2.toml")
out = dict(variable=dict())
for k, v in dico.items():
if isinstance(v, dict):
for kk, vv in v.items():
if kk == "variable":
for kkk, vvv in vv.items():
out["variable"][kkk] = vvv
else:
out[kk] = vv
pprint(out)
p = Config(**out)
print(p)
for l, c in variable_iterator(p):
print(l, c.width, c.intensity_noise)
print()
config2 = override_config(dict(width=1.2e-13, variable=dict(peak_power=[1e5, 2e5])), p)
print(
f"{config2.variable=}",
f"{config2.intensity_noise=}",
f"{config2.width=}",
f"{config2.peak_power=}",
)
par = BareParams()
print(all(v is None for v in vars(par).values()))