refactor review-plan safety and validation
This commit is contained in:
@@ -4,7 +4,7 @@ import pytest
|
||||
from pathlib import Path
|
||||
|
||||
from vlm.models import MovieIdentity
|
||||
from vlm.duplicate_resolve import choose_keep_index
|
||||
from vlm.duplicate_resolve import DuplicateResolutionError, choose_keep_index
|
||||
|
||||
|
||||
def _mi(title: str = "Test", year: int | None = 2020) -> MovieIdentity:
|
||||
@@ -218,3 +218,21 @@ class TestOtherStrategies:
|
||||
]
|
||||
idx = choose_keep_index(items, "by_reputation_quality_time", quality_comparison=qc)
|
||||
assert idx == 1
|
||||
|
||||
|
||||
def test_by_quality_requires_aligned_quality_data():
|
||||
items = [(Path("/a.mkv"), _mi()), (Path("/b.mkv"), _mi())]
|
||||
|
||||
with pytest.raises(
|
||||
DuplicateResolutionError,
|
||||
match="requires quality data aligned with duplicate items",
|
||||
):
|
||||
choose_keep_index(items, "by_quality", quality_comparison=[{"path": "/a.mkv"}])
|
||||
|
||||
|
||||
def test_unknown_strategy_raises_duplicate_resolution_error():
|
||||
items = [(Path("/a.mkv"), _mi()), (Path("/b.mkv"), _mi())]
|
||||
|
||||
with pytest.raises(DuplicateResolutionError, match="Unsupported duplicate strategy"):
|
||||
choose_keep_index(items, "unexpected")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user