Created
August 21, 2010 17:34
-
-
Save wookay/542605 to your computer and use it in GitHub Desktop.
HangulInputSystem Test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// TestHangul.m | |
// Hangul | |
// | |
// Created by Woo-Kyoung Noh on 20/08/10. | |
// Copyright 2010 factorcat. All rights reserved. | |
// | |
#import "TestHangul.h" | |
#import "UnitTest.h" | |
#import "HangulInputSystem.h" | |
#import "NSStringExt.h" | |
@implementation TestHangul | |
-(void) test_mahnun { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"마", [hangul compose:@"마"]); | |
assert_equal(@"만", [hangul compose:@"ㄴ"]); | |
assert_equal(@"많", [hangul compose:@"ㅎ"]); | |
assert_equal(@"많ㅇ", [hangul compose:@"ㅇ"]); | |
[hangul release]; | |
} | |
-(void) test_mokgo { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"머", [hangul compose:@"머"]); | |
assert_equal(@"먺", [hangul compose:@"ㄲ"]); | |
assert_equal(@"머꼬", [hangul compose:@"ㅗ"]); // 머꼬 | |
[hangul clear]; | |
assert_equal(@"머", [hangul compose:@"머"]); | |
assert_equal(@"먹", [hangul compose:@"ㄱ"]); | |
assert_equal(@"먺", [hangul compose:@"ㄱ"]); | |
assert_equal(@"먹고", [hangul compose:@"ㅗ"]); // 먹고 | |
[hangul clear]; | |
assert_equal(@"머", [hangul compose:@"머"]); | |
assert_equal(@"먹", [hangul compose:@"ㄱ"]); | |
assert_equal(@"먹ㄲ", [hangul compose:@"ㄲ"]); | |
assert_equal(@"먹꼬", [hangul compose:@"ㅗ"]); // 먹꼬 | |
[hangul clear]; | |
assert_equal(@"머", [hangul compose:@"머"]); | |
assert_equal(@"먺", [hangul compose:@"ㄲ"]); | |
assert_equal(@"먺ㄱ", [hangul compose:@"ㄱ"]); | |
assert_equal(@"먺고", [hangul compose:@"ㅗ"]); // 먺고 | |
[hangul release]; | |
} | |
-(void) test_japa { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"자", [hangul compose:@"자"]); | |
assert_equal(@"자ㅃ", [hangul compose:@"ㅃ"]); | |
[hangul release]; | |
} | |
-(void) test_salasupnida { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"아", [hangul compose:@"아"]); | |
assert_equal(@"았", [hangul compose:@"ㅆ"]); | |
assert_equal(@"았ㅅ", [hangul compose:@"ㅅ"]); | |
[hangul release]; | |
} | |
-(void) test_gyop { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"갑", [hangul compose:@"갑"]); | |
assert_equal(@"값", [hangul composeWithJongsung:@"ㅅ"]); | |
assert_equal(@"갑", [hangul depose]); | |
[hangul clear]; | |
assert_equal(@"가", [hangul compose:@"가"]); | |
assert_equal(@"값", [hangul composeWithJongsung:@"ㅄ"]); | |
assert_equal(@"가", [hangul depose]); | |
[hangul clear]; | |
assert_equal(@"ㅅ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"ㅆ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"ㅅ", [hangul depose]); | |
[hangul clear]; | |
assert_equal(@"ㅆ", [hangul compose:@"ㅆ"]); | |
assert_equal(@"", [hangul depose]); | |
[hangul release]; | |
} | |
-(void) test_moum_auto_reverse { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"ㅡ", [hangul compose:@"ㅡ"]); | |
assert_equal(@"흐", [hangul compose:@"ㅎ"]); | |
assert_equal(@"흫", [hangul compose:@"ㅎ"]); | |
[hangul release]; | |
} | |
-(void) test_bbels { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"ㅃ", [hangul compose:@"ㅃ"]); | |
assert_equal(@"뿌", [hangul compose:@"ㅜ"]); | |
assert_equal(@"쀄", [hangul compose:@"ㅔ"]); | |
assert_equal(@"쀌", [hangul compose:@"ㄹ"]); | |
assert_equal(@"쀐", [hangul compose:@"ㅅ"]); | |
assert_equal(@"쀌스", [hangul compose:@"ㅡ"]); | |
[hangul release]; | |
} | |
-(void) test_gulssissuki { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"글", [hangul compose:@"글"]); | |
assert_equal(@"글ㅆ", [hangul compose:@"ㅆ"]); | |
assert_equal(@"글씨", [hangul compose:@"ㅣ"]); | |
assert_equal(@"글씻", [hangul compose:@"ㅅ"]); | |
assert_equal(@"글씼", [hangul compose:@"ㅅ"]); | |
assert_equal(@"글씻스", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글씻슥", [hangul compose:@"ㄱ"]); | |
assert_equal(@"글씻스기", [hangul compose:@"ㅣ"]); // 글씻스기 | |
[hangul clear]; | |
assert_equal(@"글", [hangul compose:@"글"]); | |
assert_equal(@"글ㅆ", [hangul compose:@"ㅆ"]); | |
assert_equal(@"글씨", [hangul compose:@"ㅣ"]); | |
assert_equal(@"글씼", [hangul compose:@"ㅆ"]); | |
assert_equal(@"글씨쓰", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글씨쓱", [hangul compose:@"ㄱ"]); | |
assert_equal(@"글씨쓰기", [hangul compose:@"ㅣ"]); // 글씨쓰기 | |
[hangul clear]; | |
assert_equal(@"글", [hangul compose:@"글"]); | |
assert_equal(@"글ㅆ", [hangul compose:@"ㅆ"]); | |
assert_equal(@"글씨", [hangul compose:@"ㅣ"]); | |
assert_equal(@"글씻", [hangul composeWithJongsung:@"ㅅ"]); | |
assert_equal(@"글씻ㅅ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"글씻스", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글씻슥", [hangul compose:@"ㄱ"]); | |
assert_equal(@"글씻스기", [hangul compose:@"ㅣ"]); // 글씻스기 | |
[hangul release]; | |
} | |
-(void) test_gulssi { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"긄", [hangul compose:@"긄"]); | |
assert_equal(@"글ㅆ", [hangul compose:@"ㅅ"]); | |
assert_equal(STATUS_CHOSUNG, hangul.automata.status); | |
assert_equal(@"글씨", [hangul compose:@"ㅣ"]); | |
[hangul clear]; | |
assert_equal(@"ㄱ", [hangul compose:@"ㄱ"]); | |
assert_equal(@"그", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글", [hangul composeWithJongsung:@"ㄹ"]); | |
assert_equal(@"글ㅅ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"글ㅆ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"글씨", [hangul compose:@"ㅣ"]); | |
[hangul clear]; | |
assert_equal(@"ㄱ", [hangul compose:@"ㄱ"]); | |
assert_equal(@"그", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글", [hangul composeWithJongsung:@"ㄹ"]); | |
assert_equal(@"글ㅆ", [hangul compose:@"ㅆ"]); | |
assert_equal(@"글씨", [hangul compose:@"ㅣ"]); | |
[hangul release]; | |
} | |
-(void) test_hoksi { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"호", [hangul compose:@"호"]); | |
assert_equal(@"혹", [hangul compose:@"ㄱ"]); | |
assert_equal(@"혻", [hangul compose:@"ㅅ"]); | |
assert_equal(@"혹시", [hangul compose:@"ㅣ"]); | |
[hangul clear]; | |
assert_equal(@"혹", [hangul compose:@"혹"]); | |
assert_equal(@"혻", [hangul compose:@"ㅅ"]); | |
assert_equal(@"혹시", [hangul compose:@"ㅣ"]); | |
[hangul release]; | |
} | |
-(void) test_jongsung { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"", [hangul composeWithJongsung:@"ㄹ"]); | |
assert_equal(@"ㅡ", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글", [hangul compose:@"ㄱ"]); | |
[hangul clear]; | |
assert_equal(@"", [hangul composeWithJongsung:@"ㄹ"]); | |
assert_equal(@"ㅡ", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글", [hangul compose:@"ㄱ"]); | |
assert_equal(@"글", [hangul composeWithJongsung:@"ㄹ"]); | |
assert_equal(@"글ㅡ", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글글", [hangul compose:@"ㄱ"]); | |
[hangul clear]; | |
assert_equal(@"글", [hangul compose:@"글"]); | |
assert_equal(@"글", [hangul composeWithJongsung:@"ㄴ"]); | |
assert_equal(@"글ㅏ", [hangul compose:@"ㅏ"]); | |
assert_equal(@"글한", [hangul compose:@"ㅎ"]); | |
[hangul clear]; | |
assert_equal(@"글", [hangul compose:@"글"]); | |
assert_equal(@"글", [hangul composeWithJongsung:@"ㄴ"]); | |
assert_equal(@"글ㅏ", [hangul compose:@"ㅏ"]); | |
assert_equal(@"글한", [hangul compose:@"ㅎ"]); | |
assert_nil(hangul.automata.backjong); | |
assert_equal(@"글한", [hangul composeWithJongsung:@"ㄴ"]); | |
assert_equal(@"ㄴ", hangul.automata.backjong); | |
assert_equal(@"글한ㅏ", [hangul compose:@"ㅏ"]); | |
assert_equal(@"글한한", [hangul compose:@"ㅎ"]); | |
[hangul clear]; | |
assert_equal(@"글", [hangul compose:@"글"]); | |
assert_equal(@"긄", [hangul compose:@"ㅅ"]); | |
assert_equal(@"글ㅆ", [hangul compose:@"ㅅ"]); | |
[hangul clear]; | |
assert_equal(@"산", [hangul compose:@"산"]); | |
assert_equal(@"산ㅅ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"산수", [hangul compose:@"ㅜ"]); | |
[hangul release]; | |
} | |
-(void) test_seung { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"스", [hangul compose:@"스"]); | |
assert_equal(@"승", [hangul composeWithJongsung:@"ㅇ"]); | |
[hangul clear]; | |
assert_equal(@"수", [hangul compose:@"수"]); | |
assert_equal(@"숭", [hangul composeWithJongsung:@"ㅇ"]); | |
[hangul clear]; | |
assert_equal(@"ㅅ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"ㅅ", [hangul composeWithJongsung:@"ㅇ"]); | |
assert_equal(@"승", [hangul compose:@"ㅡ"]); | |
assert_equal(@"승ㄹ", [hangul compose:@"ㄹ"]); | |
assert_equal(@"승리", [hangul compose:@"ㅣ"]); | |
[hangul clear]; | |
assert_equal(@"승", [hangul compose:@"승"]); | |
assert_equal(@"승ㅅ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"승ㅅ", [hangul composeWithJongsung:@"ㅇ"]); | |
assert_equal(@"승승", [hangul compose:@"ㅡ"]); | |
assert_equal(@"승승ㅅ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"승승스", [hangul compose:@"ㅡ"]); | |
assert_equal(@"승승승", [hangul composeWithJongsung:@"ㅇ"]); | |
assert_equal(@"승승스으", [hangul compose:@"ㅡ"]); | |
assert_equal(@"승승스응", [hangul composeWithJongsung:@"ㅇ"]); | |
assert_equal(@"승승스으으", [hangul compose:@"ㅡ"]); | |
assert_equal(@"승승스으응", [hangul composeWithJongsung:@"ㅇ"]); | |
[hangul clear]; | |
assert_equal(@"승", [hangul compose:@"승"]); | |
assert_equal(@"승", [hangul composeWithJongsung:@"ㅇ"]); | |
assert_equal(@"승ㅡ", [hangul compose:@"ㅡ"]); | |
assert_equal(@"승승", [hangul compose:@"ㅅ"]); | |
[hangul release]; | |
} | |
-(void) test_hangul { | |
HangulInputSystem* hangul = [[HangulInputSystem alloc] init]; | |
assert_equal(@"ㅗ", [hangul compose:@"ㅗ"]); | |
assert_equal(@"ㅘ", [hangul compose:@"ㅏ"]); | |
assert_equal(@"화", [hangul compose:@"ㅎ"]); | |
assert_equal(@"화ㅗ", [hangul compose:@"ㅗ"]); | |
assert_equal(@"화고", [hangul compose:@"ㄱ"]); | |
[hangul clear]; | |
assert_equal(@"", [hangul composeWithJongsung:@"ㄹ"]); | |
assert_equal(@"ㅡ", [hangul compose:@"ㅡ"]); | |
assert_equal(@"글", [hangul compose:@"ㄱ"]); | |
[hangul clear]; | |
assert_equal(@"", [hangul composeWithJongsung:@"ㄹ"]); | |
assert_equal(@"ㄱ", [hangul compose:@"ㄱ"]); | |
assert_equal(@"글", [hangul compose:@"ㅡ"]); | |
[hangul clear]; | |
assert_equal(@"ㅎ", [hangul compose:@"ㅎ"]); | |
assert_equal(@"허", [hangul compose:@"ㅓ"]); | |
assert_equal(@"헛", [hangul compose:@"ㅅ"]); | |
[hangul clear]; | |
assert_equal(@"ㅅ", [hangul compose:@"ㅅ"]); | |
assert_equal(@"소", [hangul compose:@"ㅗ"]); | |
assert_equal(@"ㅅ", [hangul depose]); | |
[hangul clear]; | |
assert_equal(@"ㅎ", [hangul compose:@"ㅎ"]); | |
assert_equal(@"하", [hangul compose:@"ㅏ"]); | |
assert_equal(@"한", [hangul compose:@"ㄴ"]); | |
assert_equal(@"한ㄱ", [hangul compose:@"ㄱ"]); | |
assert_equal(@"한그", [hangul compose:@"ㅡ"]); | |
assert_equal(@"한글", [hangul compose:@"ㄹ"]); | |
[hangul clear]; | |
assert_equal(@"ㄱ", [hangul compose:@"ㄱ"]); | |
assert_equal(@"ㄲ", [hangul compose:@"ㄱ"]); | |
[hangul clear]; | |
assert_equal(@"ㄱ", [hangul compose:@"ㄱ"]); | |
assert_equal(@"ㄱㄴ", [hangul compose:@"ㄴ"]); | |
[hangul clear]; | |
assert_equal(@"1", [hangul compose:@"1"]); | |
assert_equal(@"1ㅇ", [hangul compose:@"ㅇ"]); | |
assert_equal(@"1어", [hangul compose:@"ㅓ"]); | |
assert_equal(@"1업", [hangul compose:@"ㅂ"]); | |
assert_equal(@"1없", [hangul compose:@"ㅅ"]); | |
assert_equal(@"1업스", [hangul compose:@"ㅡ"]); | |
assert_equal(@"1업스a", [hangul compose:@"a"]); | |
assert_equal(@"1업스a\n", [hangul compose:LF]); | |
assert_equal(@"1업스a\nㅃ", [hangul compose:@"ㅃ"]); | |
assert_equal(@"1업스a\n", [hangul depose]); | |
[hangul clear]; | |
assert_equal(@"ㅜ", [hangul compose:@"ㅜ"]); | |
assert_equal(@"ㅟ", [hangul compose:@"ㅣ"]); | |
[hangul clear]; | |
assert_equal(@"ㅎ", [hangul compose:@"ㅎ"]); | |
assert_equal(@"혀", [hangul compose:@"ㅕ"]); | |
assert_equal(@"형", [hangul compose:@"ㅇ"]); | |
assert_equal(@"혀애", [hangul compose:@"ㅐ"]); | |
[hangul release]; | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
[Session started at 2010-08-31 00:56:39 +0900.]
Started
........................................................................................................................................................................................
Finished in 0.0106 seconds.
13 tests, 184 assertions, 0 failures, 0 errors