Files
Miwa d8b06e9367 Merge pull request #227 from azooKey/feat/mapped_input_style
feat: `.mapped(id)`を新たな入力スタイルとして導入し、カスタムローマ字かな変換テーブルに対応
2025-07-23 23:35:36 +09:00

28 lines
1.4 KiB
Swift

@testable import KanaKanjiConverterModule
import XCTest
final class Roman2KanaTests: XCTestCase {
func testToHiragana() throws {
let table = InputStyleManager.shared.table(for: .defaultRomanToKana)
// xtsu ->
XCTAssertEqual(table.toHiragana(currentText: Array(""), added: "x"), Array("x"))
XCTAssertEqual(table.toHiragana(currentText: Array("x"), added: "t"), Array("xt"))
XCTAssertEqual(table.toHiragana(currentText: Array("xt"), added: "s"), Array("xts"))
XCTAssertEqual(table.toHiragana(currentText: Array("xts"), added: "u"), Array(""))
// kanto ->
XCTAssertEqual(table.toHiragana(currentText: Array(""), added: "k"), Array("k"))
XCTAssertEqual(table.toHiragana(currentText: Array("k"), added: "a"), Array(""))
XCTAssertEqual(table.toHiragana(currentText: Array(""), added: "n"), Array("かn"))
XCTAssertEqual(table.toHiragana(currentText: Array("かn"), added: "t"), Array("かんt"))
XCTAssertEqual(table.toHiragana(currentText: Array("かんt"), added: "o"), Array("かんと"))
// zl ->
XCTAssertEqual(table.toHiragana(currentText: Array(""), added: "z"), Array("z"))
XCTAssertEqual(table.toHiragana(currentText: Array("z"), added: "l"), Array(""))
// TT -> TT
XCTAssertEqual(table.toHiragana(currentText: Array("T"), added: "T"), Array("TT"))
}
}