package wikokit.base.wikt.sql.test;
import java.util.Map;
import wikokit.base.wikipedia.language.LanguageType;
import wikokit.base.wikipedia.sql.Connect;
import wikokit.base.wikt.constant.POS;
import wikokit.base.wikt.constant.Relation;
import wikokit.base.wikt.multi.ru.WRelationRu;
import wikokit.base.wikt.sql.TLang;
import wikokit.base.wikt.sql.TLangPOS;
import wikokit.base.wikt.sql.TMeaning;
import wikokit.base.wikt.sql.TPOS;
import wikokit.base.wikt.sql.TPage;
import wikokit.base.wikt.sql.TRelation;
import wikokit.base.wikt.sql.TRelationType;
import wikokit.base.wikt.util.POSText;
import wikokit.base.wikt.word.WRelation;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import junit.framework.TestCase;
public class TRelationTest extends TestCase {
public Context context = null;
Connect ruwikt_conn;
SQLiteDatabase db;
String car_text, page_title;
TMeaning meaning;
protected void setUp() throws Exception {
super.setUp();
ruwikt_conn = new Connect(context, LanguageType.ru);
ruwikt_conn.openDatabase();
db = ruwikt_conn.getDB();
TLang.createFastMaps(db);
TPOS.createFastMaps (db);
TRelationType.createFastMaps(db);
page_title = "car";
// 0. get meaning
TPage page = TPage.get(db, page_title);
assertNotNull(page);
TLangPOS[] array_lang_pos = TLangPOS.getRecursive(db, page);
assertNotNull(array_lang_pos);
assertTrue (array_lang_pos.length > 0);
TLangPOS tlang_pos = array_lang_pos[0];
TMeaning[] mm_copy1 = tlang_pos.getMeaning();
assertNotNull(mm_copy1);
assertTrue(mm_copy1.length > 0);
meaning = mm_copy1[0];
car_text = "=== Произношение ===\n" +
"==== Значение ====\n" +
"==== Синонимы ====\n" +
"# [[carriage_test]]\n" +
"# [[automobile_test]]\n" +
"# -\n" +
"# -\n" +
"# -\n" +
"\n" +
"==== Антонимы ====\n" +
"\n" +
"==== Гиперонимы ====\n" +
"# [[vehicle_test]]\n" +
"# -\n" +
"# -\n" +
"# -\n" +
"# -\n" +
"\n" +
"==== Гипонимы ====\n" +
"# -\n" +
"# [[truck_test]], [[van_test]], [[bus_test]]\n" +
"# -\n" +
"\n" +
"===Родственные слова===\n";
}
protected void tearDown() throws Exception {
super.tearDown();
ruwikt_conn.close();
}
public void testGet() {
TRelation[] trelation = TRelation.get(db, meaning);
assertNotNull (trelation);
assertTrue(trelation.length >= 2); // synonyms: [[carriage]]; hypernyms: [[vehicle]]
}
public void testCount() {
// "car" in the Russian Wiktionary
// let's check first meaning (i.e. [0]):
// synonyms: [[carriage]]
// hypernyms: [[vehicle]]
int trelation_number = TRelation.count(db, meaning);
assertTrue(trelation_number >= 2);
}
public void testGetByID() {
TRelation[] trelation = TRelation.get(db, meaning);
TRelation r = trelation[0];
assertNotNull(r);
// synonyms: [[carriage]]
TRelation r2 = TRelation.getByID(db, r.getID());
assertNotNull(r2);
String sss = r2.getWikiText().getText();
//assertEquals(wiki_text_str, r2.getWikiText().getText());
}
public void testGetRelationType() {
Relation r;
r = TRelation.getRelationType(db, "car", null);
assertNull(r);
r = TRelation.getRelationType(db, "car", "absent word");
assertNull(r);
r = TRelation.getRelationType(db, "car", "carriage");
assertEquals(Relation.synonymy, r);
r = TRelation.getRelationType(db, "car", "truck");
assertEquals(Relation.hyponymy, r);
}
}