Add instrument region filtering

This commit is contained in:
diyaa
2026-09-14 01:08:30 +02:00
parent 9ddac746e5
commit 6c6aeae5bb
4 changed files with 47 additions and 9 deletions
@@ -47,4 +47,19 @@ final class LocalInstrumentCatalogTests: XCTestCase {
.allSatisfy { $0.familyCategory == "Plucked strings" }
)
}
func testRegionsAndFilteringComeFromCatalogMetadata() {
let catalog = LocalInstrumentCatalog()
let middleEasternPluckedStrings = catalog.instruments(
matching: "",
familyCategory: "Plucked strings",
regionOrigin: "Middle East"
)
XCTAssertTrue(catalog.regionsOfOrigin.contains("Middle East"))
XCTAssertFalse(middleEasternPluckedStrings.isEmpty)
XCTAssertTrue(middleEasternPluckedStrings.contains { $0.id == "oud" })
XCTAssertTrue(middleEasternPluckedStrings.allSatisfy { $0.regionOrigin == "Middle East" })
XCTAssertTrue(middleEasternPluckedStrings.allSatisfy { $0.familyCategory == "Plucked strings" })
}
}