Add Arabic dialect test fixtures

This commit is contained in:
diyaa
2026-09-13 23:22:49 +02:00
parent 6a99266e75
commit 9a0dd452bd
3 changed files with 88 additions and 1 deletions
@@ -103,4 +103,26 @@ final class ArabicPronunciationProcessorTests: XCTestCase {
XCTAssertEqual(result.text, "\(preservedSpelling) \u{0628}\u{064E}\u{0651}")
XCTAssertEqual(result.notes, [.preservedSpellingsProtected(count: 1)])
}
func testArabicDialectFixturesCoverExpectedProcessingBehavior() {
XCTAssertEqual(ArabicLyricsFixtures.all.count, 4)
XCTAssertEqual(
Set(ArabicLyricsFixtures.all.map(\.dialectName)).count,
ArabicLyricsFixtures.all.count
)
for fixture in ArabicLyricsFixtures.all {
let result = processor.process(
lyrics: fixture.lyrics,
settings: fixture.settings
)
XCTAssertEqual(
result.text.unicodeScalars.map(\.value),
fixture.expectedLyrics.unicodeScalars.map(\.value),
fixture.dialectName
)
XCTAssertEqual(result.notes, fixture.expectedNotes, fixture.dialectName)
}
}
}