package wikokit.base.wikt.sql.test; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import junit.framework.TestCase; import wikokit.base.wikt.sql.*; import wikokit.base.wikipedia.language.LanguageType; import wikokit.base.wikipedia.sql.Connect; public class TLangTest extends TestCase { public Context context = null; Connect ruwikt_conn; protected void setUp() throws Exception { super.setUp(); ruwikt_conn = new Connect(context, LanguageType.ru); ruwikt_conn.openDatabase(); } protected void tearDown() throws Exception { super.tearDown(); ruwikt_conn.close(); } public void testGetID() { System.out.println("getID"); // once upon a time: create Wiktionary parsed db // skip for SQLite: TLang.recreateTable(ruwikt_conn); SQLiteDatabase db = ruwikt_conn.getDB(); // once upon a time: use Wiktionary parsed db TLang.createFastMaps(db); // and every usual day int os_id = TLang.getIDFast(LanguageType.os); TLang tlang = TLang.get(db, LanguageType.os); assertNotNull(tlang); assertEquals(tlang.getID(), os_id); } /* public void testGetIDFast() { fail("Not yet implemented"); } public void testGetTLangFast() { fail("Not yet implemented"); } public void testGet() { fail("Not yet implemented"); } public void testGetAllLanguages() { fail("Not yet implemented"); } public void testGetAllTLang() { fail("Not yet implemented"); }*/ public void testParseLangCode() { System.out.println("parseLangCode"); String str; TLang[] langs; str = ""; langs = TLang.parseLangCode(str); assertTrue(langs != null); assertTrue(langs.length == 0); str = " not_valid language-code"; langs = TLang.parseLangCode(str); assertTrue(langs != null); assertTrue(langs.length == 0); str = " en only-one-valid-code"; langs = TLang.parseLangCode(str); assertTrue(langs != null); assertTrue(langs.length == 1); str = " en lt ru os fr it's enough"; langs = TLang.parseLangCode(str); assertTrue(langs != null); assertTrue(langs.length == 5); } public void testIsEquals() { System.out.println("isEquals"); String str_lang2; TLang tlang1[]; boolean res; // isEquals(TLang tlang1[], String str_lang2) tlang1 = new TLang[0]; // source_lang[0] = TLang.get(LanguageType.en); // 0 == 0 str_lang2 = ""; res = TLang.isEquals(tlang1, str_lang2); assertTrue(res); // empty codes are equal // 0 == 0 str_lang2 = "non-language_code"; res = TLang.isEquals(tlang1, str_lang2); assertTrue(res); // "en" != 0 str_lang2 = "non-language_code and one language code en"; res = TLang.isEquals(tlang1, str_lang2); assertFalse(res); // "en" != "de" str_lang2 = "en"; tlang1 = new TLang[1]; tlang1[0] = TLang.get(LanguageType.de); res = TLang.isEquals(tlang1, str_lang2); assertFalse(res); // "os fr" == "fr os" str_lang2 = "os fr"; tlang1 = new TLang[2]; tlang1[0] = TLang.get(LanguageType.fr); tlang1[1] = TLang.get(LanguageType.os); res = TLang.isEquals(tlang1, str_lang2); assertTrue(res); } /*public void testCreateFastMaps() { fail("Not yet implemented"); }*/ }