Add instrument family filtering
This commit is contained in:
@@ -34,4 +34,17 @@ final class LocalInstrumentCatalogTests: XCTestCase {
|
||||
XCTAssertEqual(catalog.instruments(matching: "nylon string").map(\.id), ["classical-guitar"])
|
||||
XCTAssertEqual(catalog.instruments(matching: "عود").map(\.id), ["oud"])
|
||||
}
|
||||
|
||||
func testFamilyCategoriesAndFilteringComeFromCatalogMetadata() {
|
||||
let catalog = LocalInstrumentCatalog()
|
||||
let pluckedStrings = catalog.instruments(matching: "", familyCategory: "Plucked strings")
|
||||
|
||||
XCTAssertTrue(catalog.familyCategories.contains("Plucked strings"))
|
||||
XCTAssertTrue(pluckedStrings.contains { $0.id == "oud" })
|
||||
XCTAssertTrue(pluckedStrings.allSatisfy { $0.familyCategory == "Plucked strings" })
|
||||
XCTAssertTrue(
|
||||
catalog.instruments(matching: "guitar", familyCategory: "Plucked strings")
|
||||
.allSatisfy { $0.familyCategory == "Plucked strings" }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user