Add instrument region filtering
This commit is contained in:
@@ -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" })
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user