Exemple #1
0
        public void TestPiecemeal()
        {
            String hangul = "\uBC0F";
            String jamo   = nameToJamo("(Mi)(I)(Cf)");
            String latin  = "mic";
            String latin2 = "mich";

            Transliterator t = null;

            t = Transliterator.GetInstance("NFD"); // was Hangul-Jamo
            TransliteratorTest.Expect(t, hangul, jamo);

            t = Transliterator.GetInstance("NFC"); // was Jamo-Hangul
            TransliteratorTest.Expect(t, jamo, hangul);

            t = Transliterator.GetInstance("Latin-Jamo");
            TransliteratorTest.Expect(t, latin, jamo);

            t = Transliterator.GetInstance("Jamo-Latin");
            TransliteratorTest.Expect(t, jamo, latin2);

            t = Transliterator.GetInstance("Hangul-Latin");
            TransliteratorTest.Expect(t, hangul, latin2);

            t = Transliterator.GetInstance("Latin-Hangul");
            TransliteratorTest.Expect(t, latin, hangul);

            t = Transliterator.GetInstance("Hangul-Latin; Latin-Jamo");
            TransliteratorTest.Expect(t, hangul, jamo);

            t = Transliterator.GetInstance("Jamo-Latin; Latin-Hangul");
            TransliteratorTest.Expect(t, jamo, hangul);

            t = Transliterator.GetInstance("Hangul-Latin; Latin-Hangul");
            TransliteratorTest.Expect(t, hangul, hangul);
        }
Exemple #2
0
 // TransliteratorTest override
 bool expectAux(String tag, String summary, bool pass,
                String expectedResult)
 {
     return(TransliteratorTest.ExpectAux(tag, jamoToName(summary),
                                         pass, jamoToName(expectedResult)));
 }
Exemple #3
0
        public void TestJamo()
        {
            Transliterator latinJamo = Transliterator.GetInstance("Latin-Jamo");
            Transliterator jamoLatin = latinJamo.GetInverse();

            String[] CASE =
            {
                // Column 1 is the latin text L1 to be fed to Latin-Jamo
                // to yield output J.

                // Column 2 is expected value of J.  J is fed to
                // Jamo-Latin to yield output L2.

                // Column 3 is expected value of L2.  If the expected
                // value of L2 is L1, then L2 is null.

                // add tests for the update to fix problems where it didn't follow the standard
                // see also http://www.unicode.org/cldr/data/charts/transforms/Latin-Hangul.html
                "gach",    "(Gi)(A)(Cf)",                null,
                "geumhui", "(Gi)(EU)(Mf)(Hi)(YI)",       null,
                "choe",    "(Ci)(OE)",                   null,
                "wo",      "(IEUNG)(WEO)",               null,
                "Wonpil",  "(IEUNG)(WEO)(Nf)(Pi)(I)(L)", "wonpil",
                "GIPPEUM", "(Gi)(I)(BB)(EU)(Mf)",        "gippeum",
                "EUTTEUM", "(IEUNG)(EU)(DD)(EU)(Mf)",    "eutteum",
                "KKOTNAE", "(GGi)(O)(Tf)(Ni)(AE)",       "kkotnae",
                "gaga",    "(Gi)(A)(Gi)(A)",             null,
                "gag-a",   "(Gi)(A)(Gf)(IEUNG)(A)",      null,
                "gak-ka",  "(Gi)(A)(Kf)(Ki)(A)",         null,
                "gakka",   "(Gi)(A)(GGi)(A)",            null,
                "gakk-a",  "(Gi)(A)(GGf)(IEUNG)(A)",     null,
                "gakkka",  "(Gi)(A)(GGf)(Ki)(A)",        null,
                "gak-kka", "(Gi)(A)(Kf)(GGi)(A)",        null,

                "bab",     "(Bi)(A)(Bf)",                null,
                "babb",    "(Bi)(A)(Bf)(Bi)(EU)",        "babbeu",
                "babbba",  "(Bi)(A)(Bf)(Bi)(EU)(Bi)(A)", "babbeuba",
                "bagg",    "(Bi)(A)(Gf)(Gi)(EU)",        "baggeu",
                "baggga",  "(Bi)(A)(Gf)(Gi)(EU)(Gi)(A)", "baggeuga",
                //"bag"+SEP+"gga", "(Bi)(A)(Gf)"+SEP+"(Gi)(EU)(Gi)(A)", "bag"+SEP+"geuga",
                "kabsa",   "(Ki)(A)(Bf)(Si)(A)",         null,
                "kabska",  "(Ki)(A)(BS)(Ki)(A)",         null,
                "gabsbka", "(Gi)(A)(BS)(Bi)(EU)(Ki)(A)", "gabsbeuka", // not (Kf)
                "gga",     "(Gi)(EU)(Gi)(A)",            "geuga",
                "bsa",     "(Bi)(EU)(Si)(A)",            "beusa",
                "agg",     "(IEUNG)(A)(Gf)(Gi)(EU)",     "aggeu",
                "agga",    "(IEUNG)(A)(Gf)(Gi)(A)",      null,
                "la",      "(R)(A)",                     null,
                "bs",      "(Bi)(EU)(Sf)",               "beus",
                "kalgga",  "(Ki)(A)(L)(Gi)(EU)(Gi)(A)",  "kalgeuga",

                // 'r' in a final position is treated like 'l'
                "karka",   "(Ki)(A)(L)(Ki)(A)",          "kalka",
            };

            for (int i = 0; i < CASE.Length; i += 3)
            {
                String jamo = nameToJamo(CASE[i + 1]);
                if (CASE[i + 2] == null)
                {
                    TransliteratorTest.Expect(latinJamo, CASE[i], jamo, jamoLatin);
                }
                else
                {
                    // Handle case where round-trip is expected to fail
                    TransliteratorTest.Expect(latinJamo, CASE[i], jamo);
                    TransliteratorTest.Expect(jamoLatin, jamo, CASE[i + 2]);
                }
            }
        }