Files
AzooKeyKanaKanjiConverter/Tests/SwiftUtilsTests/StringUtilsTests.swift
2023-07-23 00:34:27 +09:00

92 lines
3.3 KiB
Swift

//
// StringUtilsTests.swift
// KanaKanjiConverterModuleTests
//
// Created by ensan on 2022/12/18.
// Copyright © 2022 ensan. All rights reserved.
//
@testable import SwiftUtils
import XCTest
final class StringTests: XCTestCase {
func testIsKana() throws {
XCTAssertTrue("".isKana)
XCTAssertTrue("".isKana)
XCTAssertTrue("".isKana)
XCTAssertTrue("".isKana)
XCTAssertTrue("".isKana)
XCTAssertTrue("".isKana)
XCTAssertFalse("k".isKana)
XCTAssertFalse("@".isKana)
XCTAssertFalse("".isKana) //
}
func testOnlyRomanAlphabetOrNumber() throws {
XCTAssertTrue("and13".onlyRomanAlphabetOrNumber)
XCTAssertTrue("vmaoNFIU".onlyRomanAlphabetOrNumber)
XCTAssertTrue("1332".onlyRomanAlphabetOrNumber)
// false
XCTAssertFalse("".onlyRomanAlphabetOrNumber)
XCTAssertFalse("and 13".onlyRomanAlphabetOrNumber)
XCTAssertFalse("can't".onlyRomanAlphabetOrNumber)
XCTAssertFalse("Mt.".onlyRomanAlphabetOrNumber)
}
func testOnlyRomanAlphabet() throws {
XCTAssertTrue("vmaoNFIU".onlyRomanAlphabet)
XCTAssertTrue("NAO".onlyRomanAlphabet)
// false
XCTAssertFalse("".onlyRomanAlphabet)
XCTAssertFalse("and 13".onlyRomanAlphabet)
XCTAssertFalse("can't".onlyRomanAlphabet)
XCTAssertFalse("Mt.".onlyRomanAlphabet)
XCTAssertFalse("and13".onlyRomanAlphabet)
XCTAssertFalse("vmaoNFIU83942".onlyRomanAlphabet)
}
func testContainsRomanAlphabet() throws {
XCTAssertTrue("vmaoNFIU".containsRomanAlphabet)
XCTAssertTrue("変数x".containsRomanAlphabet)
XCTAssertTrue("and 13".containsRomanAlphabet)
XCTAssertTrue("can't".containsRomanAlphabet)
XCTAssertTrue("Mt.".containsRomanAlphabet)
XCTAssertTrue("(^v^)".containsRomanAlphabet)
// false
XCTAssertFalse("".containsRomanAlphabet)
XCTAssertFalse("!?!?".containsRomanAlphabet)
XCTAssertFalse("(^_^)".containsRomanAlphabet)
XCTAssertFalse("問題ア".containsRomanAlphabet)
}
func testIsEnglishSentence() throws {
XCTAssertTrue("Is this an English sentence?".isEnglishSentence)
XCTAssertTrue("English sentences can include symbols like '!?/\\=-+^`{}()[].".isEnglishSentence)
// false
XCTAssertFalse("".isEnglishSentence)
XCTAssertFalse("The word '変数' is not an English word.".isEnglishSentence)
XCTAssertFalse("これは完全に日本語の文章です".isEnglishSentence)
}
func testToKatakana() throws {
XCTAssertEqual("あいうえお".toKatakana(), "アイウエオ")
XCTAssertEqual("これは日本語の文章です".toKatakana(), "コレハ日本語ノ文章デス")
XCTAssertEqual("えモじ😇".toKatakana(), "エモジ😇")
}
func testToHiragana() throws {
XCTAssertEqual("アイウエオ".toHiragana(), "あいうえお")
XCTAssertEqual("僕はロボットです".toHiragana(), "僕はろぼっとです")
XCTAssertEqual("えモじ😇".toHiragana(), "えもじ😇")
}
func testPerformanceExample() throws {
}
}