Files
music-assistant/Tests/MusicAssistantCoreTests/LocalInstrumentCatalogTests.swift
T

30 lines
1.1 KiB
Swift

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 })
}
}