import MusicAssistantCore import XCTest final class LocalInstrumentCatalogTests: XCTestCase { func testWorldwideCatalogCoversRequiredRegionsAndInstrumentTypes() { let catalog = LocalInstrumentCatalog() let expectedRegions = [ "Western", "Middle East", "Africa", "South Asia", "East Asia", "Southeast Asia", "Latin America", "Modern" ] let expectedInstrumentIDs = [ "piano", "oud", "djembe", "sitar", "erhu", "angklung", "charango", "bagpipes", "synthesizer" ] XCTAssertGreaterThanOrEqual(catalog.items.count, 200) XCTAssertTrue(expectedRegions.allSatisfy { region in catalog.items.contains { $0.regionOrigin?.contains(region) == true } }) XCTAssertTrue(expectedInstrumentIDs.allSatisfy { id in catalog.items.contains { $0.id == id } }) } func testWorldwideCatalogHasUniqueStableInstrumentIDs() { let items = LocalInstrumentCatalog.worldwideItems XCTAssertEqual(Set(items.map(\.id)).count, items.count) XCTAssertTrue(items.allSatisfy { !$0.name.isEmpty && !$0.familyCategory.isEmpty }) } }