-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_query_utils.py
More file actions
54 lines (45 loc) · 1.41 KB
/
test_query_utils.py
File metadata and controls
54 lines (45 loc) · 1.41 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from __future__ import annotations
import sys
from pathlib import Path
import pytest
ROOT = Path(__file__).resolve().parents[1]
PKG_ROOT = ROOT / "src"
for p in (ROOT, PKG_ROOT):
sp = str(p)
if sp not in sys.path:
sys.path.insert(0, sp)
from ai_agent.agent.tools.query_utils import (
append_format_tokens,
normalize_formats,
strip_legacy_original_formats_line,
)
@pytest.mark.parametrize(
"raw, expected",
[
([" DCM ", "nii.GZ", "dcm", ""], ["dcm", "nii.gz"]),
(["png", "PNG", " jpeg "], ["png", "jpeg"]),
([], []),
],
)
def test_normalize_formats(raw, expected):
assert normalize_formats(raw) == expected
@pytest.mark.parametrize(
"query, expected_query, expected_formats",
[
(
"segment lungs\nOriginalFormats: DCM NII.GZ\nwith contrast",
"segment lungs with contrast",
["dcm", "nii.gz"],
),
("no legacy marker here", "no legacy marker here", []),
],
)
def test_strip_legacy_original_formats_line(query, expected_query, expected_formats):
cleaned_query, formats = strip_legacy_original_formats_line(query)
assert cleaned_query == expected_query
assert formats == expected_formats
def test_append_format_tokens():
out = append_format_tokens("segment lungs", ["dcm", "nii.gz"])
assert "segment lungs" in out
assert "format:DICOM" in out
assert "format:NIfTI" in out