]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/engine/LanguageTest.java
Moved normalization, more tests.
[DictionaryPC.git] / src / com / hughes / android / dictionary / engine / LanguageTest.java
index f42da6ea848448ec9ec96274c9bbad47b2871501..5e21348e3f7b14828c4e9cf3e4e55c6dbacf5cb3 100644 (file)
@@ -21,13 +21,12 @@ import java.util.List;
 
 import junit.framework.TestCase;
 
+import com.hughes.android.dictionary.parser.enwiktionary.EnWiktionaryLangs;
 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(
@@ -108,7 +107,7 @@ public class LanguageTest extends TestCase {
   public void testLanguage() {
     assertEquals(Language.de, Language.lookup("de"));
     assertEquals(Language.en, Language.lookup("en"));
-    assertEquals("es", Language.lookup("es").getSymbol());
+    assertEquals("es", Language.lookup("es").getIsoCode());
   }
 
   public void testTextNorm() {
@@ -121,23 +120,36 @@ public class LanguageTest extends TestCase {
     assertEquals("kyanpasu", transliterator.transliterate("キャンパス"));
     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("xie xie", transliterator.transliterate("謝謝"));
-    assertEquals("xie xie", transliterator.transliterate("谢谢"));
+    assertEquals("xiexie", transliterator.transliterate("謝謝"));
+    assertEquals("xiexie", transliterator.transliterate("谢谢"));
 
-    assertEquals("dian nao", transliterator.transliterate("電腦"));
-    assertEquals("dian nao", transliterator.transliterate("电脑"));
-    assertEquals("ji suan ji", transliterator.transliterate("計算機"));
-    assertEquals("ji suan ji", transliterator.transliterate("计算机"));
+    assertEquals("diannao", transliterator.transliterate("電腦"));
+    assertEquals("diannao", transliterator.transliterate("电脑"));
+    assertEquals("jisuanji", transliterator.transliterate("計算機"));
+    assertEquals("jisuanji", transliterator.transliterate("计算机"));
     
-    assertEquals("cheng jiu", transliterator.transliterate("成就"));
+    assertEquals("chengjiu", transliterator.transliterate("成就"));
     
   }
   
@@ -147,8 +159,16 @@ public class LanguageTest extends TestCase {
     // These don't seem quite right....
     assertEquals("haswb", transliterator.transliterate("حاسوب"));
     assertEquals("kmbywtr", transliterator.transliterate("كمبيوتر"));
-  }
 
+    assertEquals("{\u200e كمبيوتر \u200e}", Language.fixBidiText("{كمبيوتر}"));
+    assertEquals("{a=\u200e كمبيوتر \u200e}", Language.fixBidiText("{a=كمبيوتر}"));
+    assertEquals("(\u200e كمبيوتر \u200e)", Language.fixBidiText("(كمبيوتر)"));
+    assertEquals("أنثى أنْثَى (’únθā) {f}, إناث (’ināθ) {p}, اناثى (’anāθā) {p}", Language.fixBidiText("أنثى أنْثَى (’únθā) {f}, إناث (’ināθ) {p}, اناثى (’anāθā) {p}"));
+       
+  }
 
+  public void testEnWiktionaryNames() {
+    assertEquals(EnWiktionaryLangs.isoCodeToWikiName.keySet(), Language.isoCodeToResources.keySet());
+  }
 
 }