package wikokit.base.wikt.util;
//import wikt.util.WikiWord;
import wikokit.base.wikt.util.WikiWord;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
public class WikiWordTest {
public WikiWordTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
}
@AfterClass
public static void tearDownClass() throws Exception {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
@Test
public void testParseDoubleBrackets_en() {
System.out.println("parseDoubleBrackets_en");
StringBuffer expResult, result, wiki_text;
String page_title;
// test 1
page_title = "sweet";
wiki_text = new StringBuffer("Having a [[pleasant]] taste, especially one relating to the basic taste sensation induced by [[sugar]].");
expResult = new StringBuffer("Having a pleasant taste, especially one relating to the basic taste sensation induced by sugar.");
result = WikiWord.parseDoubleBrackets(page_title, wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// test 2
// (with vertical pipe) remove brackets
page_title = "god";
wiki_text = new StringBuffer("A [[supernatural]], typically [[immortal]] being with [[superior]] [[power]]s.");
expResult = new StringBuffer("A supernatural, typically immortal being with superior powers.");
result = WikiWord.parseDoubleBrackets(page_title, wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
}
@Test
public void testParseDoubleBrackets_ru() {
System.out.println("parseDoubleBrackets_ru");
StringBuffer expResult, result, wiki_text;
String page_title;
// test 1
page_title = "самолёт";
wiki_text = new StringBuffer ("летательный [[аппарат]] тяжелее [[воздух]]а с жёстким [[крыло]]м и собственным [[мотор]]ом");
expResult = new StringBuffer("летательный аппарат тяжелее воздуха с жёстким крылом и собственным мотором");
result = WikiWord.parseDoubleBrackets(page_title, wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// test 2
// (with vertical pipe) remove brackets
page_title = "гликолиз";
wiki_text = new StringBuffer("[[ферментативный]] [[процесс]] [[последовательный|последовательного]] [[расщепление|расщепления]] [[глюкоза|глюкозы]] в [[клетка]]х, [[сопровождающийся]] [[синтез]]ом [[АТФ]]");
expResult = new StringBuffer ("ферментативный процесс последовательного расщепления глюкозы в клетках, сопровождающийся синтезом АТФ");
result = WikiWord.parseDoubleBrackets(page_title, wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
}
@Test
public void testGetWikiWords_en() {
System.out.println("getWikiWords_en");
StringBuffer wiki_text;
String page_title;
WikiWord[] ww, ww_result;
// test 1 simple
page_title = "sweet";
wiki_text = new StringBuffer("Having a [[pleasant]] [[taste|tasting]], ... one [[sugar]]xyz.");
//expResult = new StringBuffer("Having a pleasant taste, especially one relating to the basic taste sensation induced by sugar.");
ww = new WikiWord[3];
ww[0] = new WikiWord("pleasant","pleasant", null);
ww[1] = new WikiWord("taste", "tasting", null);
ww[2] = new WikiWord("sugar", "sugarxyz", null);
ww_result = WikiWord.getWikiWords(page_title, wiki_text);
assertEquals(ww.length, ww_result.length);
for(int i=0; i<ww.length; i++) {
assertTrue(ww[i].getWordLink(). toString().equalsIgnoreCase( ww_result[i].getWordLink().toString() ) );
assertTrue(ww[i].getWordVisible().toString().equalsIgnoreCase( ww_result[i].getWordVisible().toString() ) );
}
// test 2
// (with vertical pipe) remove brackets
page_title = "god";
wiki_text = new StringBuffer("A [[supernatural|test1]], typically [[immortal]] being with [[superior]] [[power]]s.");
ww = new WikiWord[4];
ww[0] = new WikiWord("supernatural","test1", null);
ww[1] = new WikiWord("immortal", "immortal", null);
ww[2] = new WikiWord("superior", "superior", null);
ww[3] = new WikiWord("power", "powers", null);
ww_result = WikiWord.getWikiWords(page_title, wiki_text);
assertEquals(ww.length, ww_result.length);
for(int i=0; i<ww.length; i++) {
assertTrue(ww[i].getWordLink(). toString().equalsIgnoreCase( ww_result[i].getWordLink().toString() ) );
assertTrue(ww[i].getWordVisible().toString().equalsIgnoreCase( ww_result[i].getWordVisible().toString() ) );
}
}
}