blob: 22b1a324a5b69bc9b38a9ce79433c7b198ccc738 [file] [log] [blame]
/*
* 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));
}
}
}