package kr.kangwoo.util.hangul; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class HangulTest { char[] HANGUL_JA = new String("¤¡¤¢¤£¤¤¤¥¤¦¤§¤¨¤©¤ª¤«¤¬¤­¤®¤¯¤°¤±¤²¤³¤´¤µ¤¶¤·¤¸¤¹¤º¤»¤¼¤½¤¾").toCharArray(); char[] HANGUL_MO = new String("¤¿¤À¤Á¤Â¤Ã¤Ä¤Å¤Æ¤Ç¤È¤É¤Ê¤Ë¤Ì¤Í¤Î¤Ï¤Ð¤Ñ¤Ò¤Ó").toCharArray(); @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void isHangulSyllables() { Assert.assertEquals(Hangul.isHangulSyllables('¤¡'), false); Assert.assertEquals(Hangul.isHangulSyllables('¤¿'), false); Assert.assertEquals(Hangul.isHangulSyllables('A'), false); Assert.assertEquals(Hangul.isHangulSyllables('a'), false); Assert.assertEquals(Hangul.isHangulSyllables('Z'), false); Assert.assertEquals(Hangul.isHangulSyllables('z'), false); Assert.assertEquals(Hangul.isHangulSyllables('1'), false); Assert.assertEquals(Hangul.isHangulSyllables('\"'), false); Assert.assertEquals(Hangul.isHangulSyllables('°¡'), true); } @Test public void isHangulCompatibilityJamo() { Assert.assertEquals(Hangul.isHangulCompatibilityJamo('¤¡'), true); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('¤°'), true); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('¤¾'), true); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('¤¿'), true); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('¤Ó'), true); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('¤ü'), true); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('A'), false); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('a'), false); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('Z'), false); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('z'), false); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('1'), false); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('\"'), false); Assert.assertEquals(Hangul.isHangulCompatibilityJamo('°¡'), false); } @Test public void getChoseong() { Assert.assertEquals(Hangul.getChoseong('ÇÑ'), '¤¾'); Assert.assertEquals(Hangul.getChoseong('Áö'), '¤¸'); Assert.assertEquals(Hangul.getChoseong('³ª'), '¤¤'); try { Assert.assertEquals(Hangul.getChoseong('a'), 'a'); Assert.fail("Failed"); } catch(IllegalArgumentException e) { Assert.assertTrue(true); } } @Test public void getJungseong() { Assert.assertEquals(Hangul.getJungseong('ÇÑ'), '¤¿'); Assert.assertEquals(Hangul.getJungseong('±Û'), '¤Ñ'); try { Hangul.getJungseong('a'); Assert.fail("ÇѱÛÀÌ ¾Æ´Ò °æ¿ì °ËÁõ ¿À·ù"); } catch(IllegalArgumentException e) { Assert.assertTrue(true); } } @Test public void getJongseong() { Assert.assertEquals(Hangul.getJongseong('ÇÑ'), '¤¤'); Assert.assertEquals(Hangul.getJongseong('±Û'), '¤©'); Assert.assertEquals(Hangul.getJongseong('»ç'), (char)0x0000); try { Hangul.getJongseong('a'); Assert.fail("ÇѱÛÀÌ ¾Æ´Ò °æ¿ì °ËÁõ ¿À·ù"); } catch(IllegalArgumentException e) { Assert.assertTrue(true); } try { Hangul.getJongseong('¤¡'); Assert.fail("ÇѱÛÀÌ ¾Æ´Ò °æ¿ì °ËÁõ ¿À·ù"); } catch(IllegalArgumentException e) { Assert.assertTrue(true); } } @Test public void getJamo() { Assert.assertArrayEquals(Hangul.getJamo('ÇÑ'), new char[] {'¤¾', '¤¿', '¤¤'}); Assert.assertArrayEquals(Hangul.getJamo('Áö'), new char[] {'¤¸', '¤Ó'}); try { Hangul.getJamo('a'); Assert.fail("Failed"); } catch(IllegalArgumentException e) { Assert.assertTrue(true); } } @Test public void hasJongseong() { Assert.assertTrue(Hangul.hasJongseong('ÇÑ')); Assert.assertFalse(Hangul.hasJongseong('Áö')); } @Test public void toHangul() { Assert.assertEquals(Hangul.toHangul('¤¸', '¤Ó'), 'Áö'); Assert.assertEquals(Hangul.toHangul('¤¤', '¤¿'), '³ª'); } @Test public void toHangul2() { Assert.assertEquals(Hangul.toHangul('¤¾', '¤¿', '¤¤'), 'ÇÑ'); Assert.assertEquals(Hangul.toHangul('¤¡', '¤Ñ', '¤©'), '±Û'); } @Test public void getJosa() { Assert.assertEquals(Hangul.getJosa('ÇÑ', 'Àº', '´Â'), 'Àº'); Assert.assertEquals(Hangul.getJosa('Áö', 'ÀÌ', '°¡'), '°¡'); } @Test public void getJosa2() { Assert.assertEquals(Hangul.getJosa('ÇÑ', "Àº", "´Â"), "Àº"); Assert.assertEquals(Hangul.getJosa('Áö', "ÀÌ", "°¡"), "°¡"); } @Test public void isHangulCompatibilityJa() { for (char c : HANGUL_JA) { Assert.assertTrue(Hangul.isHangulCompatibilityJa(c)); } for (char c : HANGUL_MO) { Assert.assertFalse(Hangul.isHangulCompatibilityJa(c)); } Assert.assertTrue(Hangul.isHangulCompatibilityJa('¤°')); Assert.assertFalse(Hangul.isHangulCompatibilityJa('¤¿')); Assert.assertFalse(Hangul.isHangulCompatibilityJa('a')); Assert.assertFalse(Hangul.isHangulCompatibilityJa('A')); } @Test public void isHangulCompatibilityMo() { for (char c : HANGUL_JA) { Assert.assertFalse(Hangul.isHangulCompatibilityMo(c)); } for (char c : HANGUL_MO) { Assert.assertTrue(Hangul.isHangulCompatibilityMo(c)); } Assert.assertFalse(Hangul.isHangulCompatibilityMo('a')); Assert.assertFalse(Hangul.isHangulCompatibilityMo('A')); } }