]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/engine/LanguageTest.java
Example splitting fixes, tokenizer newline handling, Chinese
[DictionaryPC.git] / src / com / hughes / android / dictionary / engine / LanguageTest.java
index e4ad6de8228323d2ba2562a0350bbc36bfdfd325..2d9b6a0afd052fdaa439738a87724788821b8f07 100644 (file)
@@ -1,3 +1,17 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+//
+// Licensed 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 com.hughes.android.dictionary.engine;
 
 import java.util.ArrayList;
@@ -12,6 +26,8 @@ import com.ibm.icu.text.Transliterator;
 public class LanguageTest extends TestCase {
   
   public void testGermanSort() {
+    System.out.println(Language.isoCodeToWikiName.values());
+    
     final Transliterator normalizer = Transliterator.createFromRules("", Language.de.getDefaultNormalizerRules(), Transliterator.FORWARD);
     assertEquals("aüääss", normalizer.transform("aueAeAEß"));
     final List<String> words = Arrays.asList(
@@ -106,6 +122,45 @@ public class LanguageTest extends TestCase {
     assertEquals("alphabetikos katalogos", transliterator.transliterate("Αλφαβητικός Κατάλογος"));
     assertEquals("biologiceskom", transliterator.transliterate("биологическом"));
   }
+  public void testHalfTextNorm() {
+    final Transliterator transliterator = Transliterator.createFromRules("", ":: Any-Latin; ' ' > ; :: Lower; ", Transliterator.FORWARD);
+    assertEquals("kyanpasu", transliterator.transliterate("キャンパス"));
+    assertEquals("alphabētikóskatálogos", transliterator.transliterate("Αλφαβητικός Κατάλογος"));
+    assertEquals("biologičeskom", transliterator.transliterate("биологическом"));
+
+    assertEquals("xièxiè", transliterator.transliterate("謝謝"));
+    assertEquals("xièxiè", transliterator.transliterate("谢谢"));
+
+    assertEquals("diànnǎo", transliterator.transliterate("電腦"));
+    assertEquals("diànnǎo", transliterator.transliterate("电脑"));
+    assertEquals("jìsuànjī", transliterator.transliterate("計算機"));
+    assertEquals("jìsuànjī", transliterator.transliterate("计算机"));
+  }
+
+  
+  public void testChinese() {
+    final Language zh = Language.lookup("zh");
+    final Transliterator transliterator = Transliterator.createFromRules("", zh.getDefaultNormalizerRules(), Transliterator.FORWARD);
+    
+    assertEquals("xiexie", transliterator.transliterate("謝謝"));
+    assertEquals("xiexie", transliterator.transliterate("谢谢"));
+
+    assertEquals("diannao", transliterator.transliterate("電腦"));
+    assertEquals("diannao", transliterator.transliterate("电脑"));
+    assertEquals("jisuanji", transliterator.transliterate("計算機"));
+    assertEquals("jisuanji", transliterator.transliterate("计算机"));
+    
+    assertEquals("chengjiu", transliterator.transliterate("成就"));
+    
+  }
+  
+  public void testArabic() {
+    final Language ar = Language.lookup("ar");
+    final Transliterator transliterator = Transliterator.createFromRules("", ar.getDefaultNormalizerRules(), Transliterator.FORWARD);
+    // These don't seem quite right....
+    assertEquals("haswb", transliterator.transliterate("حاسوب"));
+    assertEquals("kmbywtr", transliterator.transliterate("كمبيوتر"));
+  }