103 lines
3.3 KiB
Swift
103 lines
3.3 KiB
Swift
import XCTest
|
|
@testable import WhisperKey
|
|
|
|
final class TextCleanerTests: XCTestCase {
|
|
func testGlossaryAndFillers() {
|
|
let result = TextCleaner.clean(
|
|
"Эм, проверка CompuSegro, pocketbase и caddy, короче, работает.",
|
|
removeFillers: true,
|
|
glossary: "CampusAgro, PocketBase, Caddy"
|
|
)
|
|
XCTAssertEqual(result, "Проверка CampusAgro, PocketBase и Caddy, работает.")
|
|
}
|
|
|
|
func testPreservesTextWhenFillerRemovalDisabled() {
|
|
let result = TextCleaner.clean(
|
|
"Ну вот, PocketBase работает.",
|
|
removeFillers: false,
|
|
glossary: "PocketBase"
|
|
)
|
|
XCTAssertEqual(result, "Ну вот, PocketBase работает.")
|
|
}
|
|
|
|
func testDropsCommonSilenceHallucinations() {
|
|
XCTAssertEqual(
|
|
TextCleaner.clean(
|
|
"Продолжение следует... Продолжение следует...",
|
|
removeFillers: true,
|
|
glossary: ""
|
|
),
|
|
""
|
|
)
|
|
}
|
|
|
|
func testStripsHallucinatedEndingAndAppliesPhoneticAliases() {
|
|
XCTAssertEqual(
|
|
TextCleaner.clean(
|
|
"комп Агро, Покетбейс, Постричь. SQL и Кэдди. Спасибо за просмотр.",
|
|
removeFillers: true,
|
|
glossary: "CampusAgro, PocketBase, PostgreSQL, Caddy"
|
|
),
|
|
"CampusAgro, PocketBase, PostgreSQL и Caddy"
|
|
)
|
|
}
|
|
|
|
func testDropsSubtitleCreditHallucination() {
|
|
XCTAssertEqual(
|
|
TextCleaner.clean(
|
|
"Субтитры создавал DimaTorzok",
|
|
removeFillers: true,
|
|
glossary: ""
|
|
),
|
|
""
|
|
)
|
|
}
|
|
|
|
func testRemovesEmbeddedSubtitleCreditsWithoutDroppingSpeech() {
|
|
XCTAssertEqual(
|
|
TextCleaner.clean(
|
|
"Ну запускай похуй. Редактор субтитров А.Семкин Корректор А.Егорова Сбор лидов.",
|
|
removeFillers: true,
|
|
glossary: ""
|
|
),
|
|
"Ну запускай похуй. Сбор лидов."
|
|
)
|
|
}
|
|
|
|
func testJoinsTechnicalChunksWithoutArtificialSentenceBoundary() {
|
|
XCTAssertEqual(
|
|
TranscriptJoiner.prepare(
|
|
"Модель понимает.",
|
|
continuesPrevious: true,
|
|
continuesNext: true,
|
|
glossary: ""
|
|
),
|
|
"модель понимает"
|
|
)
|
|
}
|
|
|
|
func testPreservesGlossaryCapitalizationWhenJoiningChunks() {
|
|
XCTAssertEqual(
|
|
TranscriptJoiner.prepare(
|
|
"PocketBase работает.",
|
|
continuesPrevious: true,
|
|
continuesNext: false,
|
|
glossary: "CampusAgro, PocketBase, Caddy"
|
|
),
|
|
"PocketBase работает."
|
|
)
|
|
}
|
|
|
|
func testKeepsSentenceStartAfterRealPause() {
|
|
XCTAssertEqual(
|
|
TranscriptJoiner.prepare(
|
|
"Это новое предложение.",
|
|
continuesPrevious: false,
|
|
continuesNext: false,
|
|
glossary: ""
|
|
),
|
|
"Это новое предложение."
|
|
)
|
|
}
|
|
}
|