| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.lucene.analysis.ja.util; |
| |
| |
| import java.util.HashMap; |
| import java.util.Map; |
| |
| import org.apache.lucene.util.LuceneTestCase; |
| |
| public class TestToStringUtil extends LuceneTestCase { |
| public void testPOS() { |
| assertEquals("noun-suffix-verbal", ToStringUtil.getPOSTranslation("名詞-接尾-サ変接続")); |
| } |
| |
| public void testHepburn() { |
| assertEquals("majan", ToStringUtil.getRomanization("マージャン")); |
| assertEquals("uroncha", ToStringUtil.getRomanization("ウーロンチャ")); |
| assertEquals("chahan", ToStringUtil.getRomanization("チャーハン")); |
| assertEquals("chashu", ToStringUtil.getRomanization("チャーシュー")); |
| assertEquals("shumai", ToStringUtil.getRomanization("シューマイ")); |
| } |
| |
| // see http://en.wikipedia.org/wiki/Hepburn_romanization, |
| // but this isnt even thorough or really probably what we want! |
| public void testHepburnTable() { |
| Map<String,String> table = new HashMap<String,String>() {{ |
| put("ア", "a"); put("イ", "i"); put("ウ", "u"); put("エ", "e"); put("オ", "o"); |
| put("カ", "ka"); put("キ", "ki"); put("ク", "ku"); put("ケ", "ke"); put("コ", "ko"); |
| put("サ", "sa"); put("シ", "shi"); put("ス", "su"); put("セ", "se"); put("ソ", "so"); |
| put("タ", "ta"); put("チ", "chi"); put("ツ", "tsu"); put("テ", "te"); put("ト", "to"); |
| put("ナ", "na"); put("ニ", "ni"); put("ヌ", "nu"); put("ネ", "ne"); put("ノ", "no"); |
| put("ハ", "ha"); put("ヒ", "hi"); put("フ", "fu"); put("ヘ", "he"); put("ホ", "ho"); |
| put("マ", "ma"); put("ミ", "mi"); put("ム", "mu"); put("メ", "me"); put("モ", "mo"); |
| put("ヤ", "ya"); put("ユ", "yu"); put("ヨ", "yo"); |
| put("ラ", "ra"); put("リ", "ri"); put("ル", "ru"); put("レ", "re"); put("ロ", "ro"); |
| put("ワ", "wa"); put("ヰ", "i"); put("ヱ", "e"); put("ヲ", "o"); |
| put("ン", "n"); |
| put("ガ", "ga"); put("ギ", "gi"); put("グ", "gu"); put("ゲ", "ge"); put("ゴ", "go"); |
| put("ザ", "za"); put("ジ", "ji"); put("ズ", "zu"); put("ゼ", "ze"); put("ゾ", "zo"); |
| put("ダ", "da"); put("ヂ", "ji"); put("ヅ", "zu"); put("デ", "de"); put("ド", "do"); |
| put("バ", "ba"); put("ビ", "bi"); put("ブ", "bu"); put("ベ", "be"); put("ボ", "bo"); |
| put("パ", "pa"); put("ピ", "pi"); put("プ", "pu"); put("ペ", "pe"); put("ポ", "po"); |
| |
| put("キャ", "kya"); put("キュ", "kyu"); put("キョ", "kyo"); |
| put("シャ", "sha"); put("シュ", "shu"); put("ショ", "sho"); |
| put("チャ", "cha"); put("チュ", "chu"); put("チョ", "cho"); |
| put("ニャ", "nya"); put("ニュ", "nyu"); put("ニョ", "nyo"); |
| put("ヒャ", "hya"); put("ヒュ", "hyu"); put("ヒョ", "hyo"); |
| put("ミャ", "mya"); put("ミュ", "myu"); put("ミョ", "myo"); |
| put("リャ", "rya"); put("リュ", "ryu"); put("リョ", "ryo"); |
| put("ギャ", "gya"); put("ギュ", "gyu"); put("ギョ", "gyo"); |
| put("ジャ", "ja"); put("ジュ", "ju"); put("ジョ", "jo"); |
| put("ヂャ", "ja"); put("ヂュ", "ju"); put("ヂョ", "jo"); |
| put("ビャ", "bya"); put("ビュ", "byu"); put("ビョ", "byo"); |
| put("ピャ", "pya"); put("ピュ", "pyu"); put("ピョ", "pyo"); |
| |
| put("イィ", "yi"); put("イェ", "ye"); |
| put("ウァ", "wa"); put("ウィ", "wi"); put("ウゥ", "wu"); put("ウェ", "we"); put("ウォ", "wo"); |
| put("ウュ", "wyu"); |
| // TODO: really should be vu |
| put("ヴァ", "va"); put("ヴィ", "vi"); put("ヴ", "v"); put("ヴェ", "ve"); put("ヴォ", "vo"); |
| put("ヴャ", "vya"); put("ヴュ", "vyu"); put("ヴィェ", "vye"); put("ヴョ", "vyo"); |
| put("キェ", "kye"); |
| put("ギェ", "gye"); |
| put("クァ", "kwa"); put("クィ", "kwi"); put("クェ", "kwe"); put("クォ", "kwo"); |
| put("クヮ", "kwa"); |
| put("グァ", "gwa"); put("グィ", "gwi"); put("グェ", "gwe"); put("グォ", "gwo"); |
| put("グヮ", "gwa"); |
| put("シェ", "she"); |
| put("ジェ", "je"); |
| put("スィ", "si"); |
| put("ズィ", "zi"); |
| put("チェ", "che"); |
| put("ツァ", "tsa"); put("ツィ", "tsi"); put("ツェ", "tse"); put("ツォ", "tso"); |
| put("ツュ", "tsyu"); |
| put("ティ", "ti"); put("トゥ", "tu"); |
| put("テュ", "tyu"); |
| put("ディ", "di"); put("ドゥ", "du"); |
| put("デュ", "dyu"); |
| put("ニェ", "nye"); |
| put("ヒェ", "hye"); |
| put("ビェ", "bye"); |
| put("ピェ", "pye"); |
| put("ファ", "fa"); put("フィ", "fi"); put("フェ", "fe"); put("フォ", "fo"); |
| put("フャ", "fya"); put("フュ", "fyu"); put("フィェ", "fye"); put("フョ", "fyo"); |
| put("ホゥ", "hu"); |
| put("ミェ", "mye"); |
| put("リェ", "rye"); |
| put("ラ゜", "la"); put("リ゜", "li"); put("ル゜", "lu"); put("レ゜", "le"); put("ロ゜", "lo"); |
| put("ヷ", "va"); put("ヸ", "vi"); put("ヹ", "ve"); put("ヺ", "vo"); |
| }}; |
| |
| for (String s : table.keySet()) { |
| assertEquals(s, table.get(s), ToStringUtil.getRomanization(s)); |
| } |
| } |
| } |