Add comma separated number special candidate

This commit is contained in:
Miwa
2025-05-25 18:40:18 +09:00
parent 987baa30c3
commit 5e58458895
5 changed files with 101 additions and 1 deletions

View File

@ -0,0 +1,41 @@
import XCTest
@testable import KanaKanjiConverterModule
final class CommaSeparatedNumberTests: XCTestCase {
private func makeDirectInput(direct input: String) -> ComposingText {
ComposingText(
convertTargetCursorPosition: input.count,
input: input.map { .init(character: $0, inputStyle: .direct) },
convertTarget: input
)
}
func testCommaSeparatedNumberCandidates() async throws {
let converter = await KanaKanjiConverter()
func result(_ text: String) async -> [Candidate] {
await converter.commaSeparatedNumberCandidates(makeDirectInput(direct: text))
}
let r1 = await result("49000")
XCTAssertEqual(r1.first?.text, "49,000")
let r2 = await result("109428081")
XCTAssertEqual(r2.first?.text, "109,428,081")
let r3 = await result("2129.49")
XCTAssertEqual(r3.first?.text, "2,129.49")
let r4 = await result("-13932")
XCTAssertEqual(r4.first?.text, "-13,932")
let r5 = await result("12")
XCTAssertTrue(r5.isEmpty)
let r6 = await result("1A9B")
XCTAssertTrue(r6.isEmpty)
let r7 = await result("")
XCTAssertTrue(r7.isEmpty)
}
}