/************************************************************************** OmegaT - Computer Assisted Translation (CAT) tool with fuzzy matching, translation memory, keyword search, glossaries, and translation leveraging into updated projects. Copyright (C) 2015 Hiroshi Miura Home page: http://www.omegat.org/ Support center: http://groups.yahoo.com/group/OmegaT/ This file is part of OmegaT. OmegaT is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OmegaT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. **************************************************************************/ package org.omegat.core.dictionaries; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import java.io.File; import java.util.List; import java.util.Locale; import java.util.Map.Entry; import org.junit.Test; import org.omegat.core.dictionaries.LingvoDSL.LingvoDSLDict; import org.omegat.util.Language; /** * Dictionary test * * @author Hiroshi Miura * @author Aaron Madlon-Kay */ public class LingvoDSLTest { private static final Language ENGLISH = new Language(Locale.ENGLISH); private static final File TEST_DICT = new File("test/data/dicts-lingvo/test.dsl"); @Test public void testReadFileDict() throws Exception { LingvoDSLDict dict = (LingvoDSLDict) new LingvoDSL().loadDict(TEST_DICT, ENGLISH); assertEquals(6, dict.data.size()); String word = "space"; List<Entry<String, String>> data = dict.data.lookUp(word); assertNotNull(data); List<DictionaryEntry> result = dict.readArticles(word); assertFalse(result.isEmpty()); assertEquals(word, result.get(0).getWord()); assertEquals("Only a single white space on first character\n", result.get(0).getArticle()); } @Test public void testReadArticle1() throws Exception { LingvoDSLDict dict = (LingvoDSLDict) new LingvoDSL().loadDict(TEST_DICT, ENGLISH); String word = "tab"; List<DictionaryEntry> result = dict.readArticles(word); assertFalse(result.isEmpty()); assertEquals(word, result.get(0).getWord()); assertEquals("Translation line also can have a single TAB char\n", result.get(0).getArticle()); } @Test public void testReadArticleRussian() throws Exception { LingvoDSLDict dict = (LingvoDSLDict) new LingvoDSL().loadDict(TEST_DICT, ENGLISH); String word = "tool"; List<DictionaryEntry> result = dict.readArticles(word); assertFalse(result.isEmpty()); assertEquals(word, result.get(0).getWord()); assertEquals("\u0441\u0442\u0430\u043d\u043e\u043a\n", result.get(0).getArticle()); } }