Skip to content

Instantly share code, notes, and snippets.

@wookay
Created December 3, 2014 10:59
Show Gist options
  • Save wookay/88fb3ad5a6300af768ab to your computer and use it in GitHub Desktop.
Save wookay/88fb3ad5a6300af768ab to your computer and use it in GitHub Desktop.
test_hangul.swift
//
// test_hangul.swift
// Hangul
//
// Created by WooKyoung Noh on 12/1/2014.
// Copyright (c) 2014 factorcat. All rights reserved.
//
@objc(TestHangul)
class TestHangul : NSObject {
func test_hangul() {
assert_equal(1, 1)
assert_equal("ㄱ", 한글(초: "ㄱ", 중: "ㅡ", 종: "ㄹ").초)
var 글: 한글 = 한글(초: "ㄱ", 중: "ㅡ", 종: "ㄹ")
글.초 = "ㅇ"
assert_equal(글, 한글(초: "ㅇ", 중: "ㅡ", 종: "ㄹ"))
}
func test_오토마타_영어() {
var a = 오토마타(방식: .알파벳)
a.입력("a")
a.입력("b")
assert_equal("ab", a.텍스트)
a.백스페이스()
assert_equal("a", a.텍스트)
}
func test_글자_출력() {
var 빈글 = 한글(초: "", 중: "", 종: "")
assert_equal("", 빈글.출력)
var ㄱ = 한글(초: "ㄱ", 중: "", 종: "")
assert_equal("ㄱ", ㄱ.출력)
var ㅏ = 한글(초: "", 중: "ㅏ", 종: "")
assert_equal("ㅏ", ㅏ.출력)
var 가 = 한글(초: "ㄱ", 중: "ㅏ", 종: "")
assert_equal("가", 가.출력)
var ㅁ받침 = 한글(초: "", 중: "", 종: "ㅁ")
assert_equal("", ㅁ받침.출력)
var ㅏㅁ받침 = 한글(초: "", 중: "ㅏ", 종: "ㅁ")
assert_equal("ㅏ", ㅏㅁ받침.출력)
var 감 = 한글(초: "ㄱ", 중: "ㅏ", 종: "ㅁ")
assert_equal("감", 감.출력)
}
func test_오토마타_거듭닿소리() {
var aㄱㅅ = 오토마타(방식: .한글)
aㄱㅅ.입력(초성("ㄱ"))
aㄱㅅ.입력(초성("ㅅ"))
assert_equal("ㄱㅅ", aㄱㅅ.텍스트)
}
func test_오토마타_거듭홀소리() {
var aㅗㅜ = 오토마타(방식: .한글)
aㅗㅜ.입력(중성("ㅗ"))
aㅗㅜ.입력(중성("ㅜ"))
assert_equal("ㅗㅜ", aㅗㅜ.텍스트)
}
func test_오토마타_겹받침() {
var aㅂㄱ = 오토마타(방식: .한글)
aㅂㄱ.입력(종성("ㅂ"))
assert_equal("", aㅂㄱ.텍스트)
aㅂㄱ.입력(종성("ㄱ"))
assert_equal("", aㅂㄱ.텍스트)
aㅂㄱ.입력(초성("ㅆ"))
assert_equal("ㅆ", aㅂㄱ.텍스트)
aㅂㄱ.입력(중성("ㅜ"))
assert_equal("쑥", aㅂㄱ.텍스트)
aㅂㄱ.입력(초성("ㅊ"))
assert_equal("쑥ㅊ", aㅂㄱ.텍스트)
aㅂㄱ.입력(중성("ㅏ"))
assert_equal("쑥차", aㅂㄱ.텍스트)
}
func test_오토마타_겹받침_백스페이스() {
var aㅂㄱ = 오토마타(방식: .한글)
aㅂㄱ.입력(종성("ㅂ"))
assert_equal("", aㅂㄱ.텍스트)
aㅂㄱ.입력(종성("ㄱ"))
assert_equal("", aㅂㄱ.텍스트)
aㅂㄱ.입력(초성("ㅆ"))
assert_equal("ㅆ", aㅂㄱ.텍스트)
aㅂㄱ.입력(중성("ㅜ"))
assert_equal("쑥", aㅂㄱ.텍스트)
aㅂㄱ.입력(초성("ㅊ"))
assert_equal("쑥ㅊ", aㅂㄱ.텍스트)
aㅂㄱ.입력(중성("ㅏ"))
assert_equal("쑥차", aㅂㄱ.텍스트)
aㅂㄱ.백스페이스()
assert_equal("쑥ㅊ", aㅂㄱ.텍스트)
aㅂㄱ.백스페이스()
assert_equal("쑥", aㅂㄱ.텍스트)
aㅂㄱ.백스페이스()
assert_equal("", aㅂㄱ.텍스트)
aㅂㄱ.백스페이스()
assert_equal("", aㅂㄱ.텍스트)
}
func test_키맵핑() {
assert_equal(종성("ㅇ"), 키맵("a", .세벌식390) as 자모)
assert_equal(종성("ㅆ"), 키맵("2", .세벌식390) as 자모)
assert_not_equal(종성("ㄺ"), 키맵("@", 키보드종류.세벌식390) as 자모)
assert_equal(종성("ㄺ"), 키맵("@", 키보드종류.세벌식391) as 자모)
}
func test_오토마타_세벌식() {
var a가 = 오토마타(방식: .한글)
a가.입력(초성("ㄱ"))
assert_equal("ㄱ", a가.텍스트)
a가.입력(중성("ㅏ"))
assert_equal("가", a가.텍스트)
var aㄲ = 오토마타(방식: .한글)
aㄲ.입력(초성("ㄱ"))
assert_equal("ㄱ", aㄲ.텍스트)
aㄲ.입력(초성("ㄱ"))
assert_equal("ㄲ", aㄲ.텍스트)
var a값 = 오토마타(방식: .한글)
a값.입력(초성("ㄱ"))
a값.입력(중성("ㅏ"))
a값.입력(종성("ㅂ"))
a값.입력(종성("ㅅ"))
assert_equal("값", a값.텍스트)
var a봐 = 오토마타(방식: .한글)
a봐.입력(초성("ㅂ"))
a봐.입력(중성("ㅗ"))
a봐.입력(중성("ㅏ"))
assert_equal("봐", a봐.텍스트)
}
}
@wookay
Copy link
Author

wookay commented Dec 3, 2014

Started
........................................
Finished in 0.0359 seconds.

9 tests, 40 assertions, 0 failures, 0 errors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment