homemaker-layout/tests/test_oracle.py
Bruno Postle 646ee30ab6 Rename package: homemaker → homemaker-layout
- src/homemaker/ → src/homemaker_layout/; all imports updated
- pyproject.toml: name = homemaker-layout, entry point updated
- .beads/config.yaml: dolt sync.remote updated to homemaker-layout.git
- Delete temporary debug/perl scripts from project root
- README.md, DESIGN.md: package path references updated
- GitHub repo renamed; git remote updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 08:18:06 +01:00

31 lines
798 B
Python

"""Oracle unit tests that do not invoke perl."""
import pytest
from homemaker_layout import oracle
def test_fail_lines_sorted_and_filtered():
s = oracle.Score(fitness=0.5, fails="---\nb fail\n\na fail\n \n")
assert s.fail_lines == ("a fail", "b fail")
assert s.n_fails == 2
def test_fail_lines_empty():
s = oracle.Score(fitness=0.5, fails="")
assert s.fail_lines == ()
assert s.n_fails == 0
def test_score_batch_empty_list():
assert oracle.score_batch([]) == []
def test_score_batch_rejects_cross_directory(tmp_path):
a = tmp_path / "a" / "x.dom"
b = tmp_path / "b" / "y.dom"
for p in (a, b):
p.parent.mkdir()
p.write_text("")
with pytest.raises(ValueError, match="batch spans directories"):
oracle.score_batch([a, b])