Classify static and smart crates
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import runpy
|
||||
from pathlib import Path
|
||||
|
||||
from serato_doctor.crate_parser import parse_crates
|
||||
from serato_doctor.crate_parser import load_library_crates
|
||||
from serato_doctor.models.crate import CrateKind
|
||||
from serato_doctor.models.library import Library
|
||||
from serato_doctor.scanner import scan_audio
|
||||
|
||||
@@ -13,9 +14,10 @@ def test_generated_sample_library_has_expected_scenario(tmp_path):
|
||||
build_sample = runpy.run_path(str(generator_path))["build_sample"]
|
||||
sample_root = build_sample(tmp_path / "sample")
|
||||
|
||||
references = parse_crates(sample_root / "Serato" / "_Serato_" / "Subcrates")
|
||||
crates = load_library_crates(sample_root / "Serato" / "_Serato_")
|
||||
tracks = scan_audio(sample_root / "Music")
|
||||
results = Library.build(references, tracks).reconcile_by_filename()
|
||||
library = Library.from_crates(crates, tracks)
|
||||
results = library.reconcile_by_filename()
|
||||
missing = {
|
||||
result.reference.filename
|
||||
for result in results
|
||||
@@ -23,6 +25,8 @@ def test_generated_sample_library_has_expected_scenario(tmp_path):
|
||||
}
|
||||
|
||||
assert len(list((sample_root / "Serato").rglob("*.crate"))) == 7
|
||||
assert len(references) == 13
|
||||
assert len(library.references) == 13
|
||||
assert len(tracks) == 10
|
||||
assert missing == {"Missing.mp3", "Old Name.mp3"}
|
||||
assert sum(crate.kind is CrateKind.STATIC for crate in crates) == 5
|
||||
assert sum(crate.kind is CrateKind.SMART for crate in crates) == 2
|
||||
|
||||
Reference in New Issue
Block a user