refactor: remove table-specific implementation

This commit is contained in:
Miwa / Ensan
2025-07-21 18:32:22 +09:00
parent 7b520e5793
commit 988bfd3634
3 changed files with 79 additions and 22 deletions

View File

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

View File

@ -332,7 +332,7 @@ final class DicdataStoreTests: XCTestCase {
func testPossibleNexts() throws {
let possibleNexts = DicdataStore.possibleNexts
XCTAssertEqual(Set(possibleNexts["f", default: []]).symmetricDifference(["ファ", "フィ", "", "フェ", "フォ", "フャ", "フュ", "フョ", "フゥ"]), [])
XCTAssertEqual(Set(possibleNexts["f", default: []]).symmetricDifference(["ファ", "フィ", "", "フェ", "フォ", "フャ", "フュ", "フョ", "フゥ", "ッf"]), [])
XCTAssertEqual(Set(possibleNexts["xy", default: []]).symmetricDifference(["", "", ""]), [])
XCTAssertEqual(possibleNexts["", default: []], [])
}