JOJ3-config-generator/tests/convert_joj1/utils.py
李衍志523370910113 a19f6ba84b
Some checks failed
build / build (pull_request) Failing after 2m31s
build / build (push) Failing after 2m34s
fix: assertion error to pass test
2025-02-25 09:54:24 +08:00

28 lines
914 B
Python

import os
from typing import Any, Dict, Tuple
import rtoml
import yaml
from joj3_config_generator.convert import convert_joj1
from joj3_config_generator.models import joj1
def read_convert_joj1_files(case_name: str) -> Tuple[joj1.Config, Dict[str, Any]]:
root = os.path.dirname(os.path.realpath(__file__))
task_yaml_path = os.path.join(root, case_name, "task.yaml")
with open(task_yaml_path) as f:
task_yaml = f.read()
task_toml_path = os.path.join(root, case_name, "task.toml")
with open(task_toml_path) as f:
task_toml = f.read()
joj1_obj = yaml.safe_load(task_yaml)
task_obj = rtoml.loads(task_toml)
return joj1.Config(**joj1_obj), task_obj
def load_case(case_name: str) -> None:
joj1, expected_result = read_convert_joj1_files(case_name)
result = convert_joj1(joj1).model_dump(by_alias=True, exclude_none=True)
assert result == expected_result