package wikokit.base.wikt.multi.en;
import wikokit.base.wikt.multi.en.WLanguageEn;
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.*;
import wikokit.base.wikipedia.language.LanguageType;
import wikokit.base.wikt.util.LangText;
public class WLanguageEnTest {
public WLanguageEnTest() {
}
@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 testSplitToLanguageSections() {
System.out.println("splitToLanguageSections");
String source_text;
LangText[] result;
// ==English==
source_text = "Before \n==English==\n word";
result = WLanguageEn.splitToLanguageSections("test_word1_en", new StringBuffer(source_text));
assertEquals(1, result.length);
assertEquals(LanguageType.en, result[0].getLanguage());
assertEquals("Before \nword", result[0].text.toString());
// ==English== and ==Swedish==
source_text = "Before \n==English==\n english-word \n==Swedish==\n swedish-word";
result = WLanguageEn.splitToLanguageSections("test_word2_en", new StringBuffer(source_text));
assertEquals(2, result.length);
assertEquals(LanguageType.en, result[0].getLanguage());
assertEquals("Before \nenglish-word \n", result[0].text.toString());
assertEquals(LanguageType.sv, result[1].getLanguage());
assertEquals("swedish-word", result[1].text.toString());
}
/** Sometimes language names are wikified :(, see e.g. "nu" */
@Test
public void testSplitToLanguageSections_wikified_lang_name() {
System.out.println("splitToLanguageSections_wikified_lang_name");
String source_text;
LangText[] result;
// ==[[Ewe]]==
source_text = "Before \n==[[Ewe]]==\n word";
result = WLanguageEn.splitToLanguageSections("test_word1_en", new StringBuffer(source_text));
assertEquals(1, result.length);
assertEquals(LanguageType.ewe, result[0].getLanguage());
assertEquals("Before \nword", result[0].text.toString());
// ==[[Ewe]]== and ==[[Catalan]]==
source_text = "Before \n==[[Ewe]]==\n ewe-word \n==[[Catalan]]==\n catalan-word";
result = WLanguageEn.splitToLanguageSections("test_word2_en", new StringBuffer(source_text));
assertEquals(2, result.length);
assertEquals(LanguageType.ewe, result[0].getLanguage());
assertEquals("Before \newe-word \n", result[0].text.toString());
assertEquals(LanguageType.ca, result[1].getLanguage());
assertEquals("catalan-word", result[1].text.toString());
}
}