File size: 1,172 Bytes
e0265b9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from __future__ import annotations

from pathlib import Path

from adam.config import ConfigManager
from adam.tool_folders import ToolFolderManager


def test_folder_scanner_detects_expected_entry_points(tmp_path: Path) -> None:
    program = tmp_path / "DDPM"
    program.mkdir()
    (program / "train.py").write_text("# worker", encoding="utf-8")
    (program / "appStableDiffusion.py").write_text("# gui", encoding="utf-8")
    config_root = tmp_path / "adam"
    manager = ToolFolderManager(ConfigManager(config_root))

    status = manager.set("ddpm_trainer", str(program))

    assert status.valid is True
    assert status.entry_points == ("train.py", "appStableDiffusion.py")
    assert manager.get("ddpm_trainer") == str(program)


def test_chat_assignment_parser_accepts_multiple_windows_paths(tmp_path: Path) -> None:
    manager = ToolFolderManager(ConfigManager(tmp_path))
    assignments = manager.parse_assignments(
        "DDPM Trainer: D:\\Programs\\DDPM\n"
        "Flow Matching Trainer: D:\\Programs\\FlowMatch"
    )

    assert assignments == {
        "ddpm_trainer": "D:\\Programs\\DDPM",
        "flow_trainer": "D:\\Programs\\FlowMatch",
    }