package org.wikibrain.core.dao; import org.junit.Test; import org.wikibrain.core.dao.sql.InterLanguageLinkSqlDao; import org.wikibrain.core.dao.sql.TestDaoUtil; import org.wikibrain.core.dao.sql.WpDataSource; import org.wikibrain.core.lang.Language; import org.wikibrain.core.lang.LocalId; import org.wikibrain.core.model.InterLanguageLink; import java.io.IOException; import java.util.List; import java.util.Set; import static org.junit.Assert.*; /** * @author Shilad Sen */ public class TestInterLanguageLinkSqlDao { @Test public void testIlls() throws DaoException, IOException, ClassNotFoundException { WpDataSource ds = TestDaoUtil.getWpDataSource(); InterLanguageLinkSqlDao dao = new InterLanguageLinkSqlDao(ds); dao.beginLoad(); dao.save(new InterLanguageLink(Language.EN, 3, Language.DE, 5)); dao.save(new InterLanguageLink(Language.EN, 3, Language.DE, 9)); dao.save(new InterLanguageLink(Language.EN, 3, Language.SIMPLE, 9)); dao.save(new InterLanguageLink(Language.EN, 5, Language.SIMPLE, 9)); dao.save(new InterLanguageLink(Language.DE, 3, Language.SIMPLE, 9)); dao.endLoad(); Set<LocalId> l1 = dao.getFromSource(Language.EN, 3); assertTrue(l1.contains(new LocalId(Language.DE, 5))); assertTrue(l1.contains(new LocalId(Language.DE, 9))); assertTrue(l1.contains(new LocalId(Language.SIMPLE, 9))); assertEquals(3, l1.size()); Set<LocalId> l2 = dao.getFromSource(Language.DE, 5); assertEquals(0, l2.size()); Set<LocalId> l3 = dao.getFromSource(Language.DE, 3); assertEquals(1, l3.size()); assertTrue(l3.contains(new LocalId(Language.SIMPLE, 9))); Set<LocalId> l4 = dao.getToDest(Language.DE, 3); assertEquals(0, l4.size()); Set<LocalId> l5 = dao.getToDest(Language.SIMPLE, 9); assertEquals(3, l5.size()); assertTrue(l5.contains(new LocalId(Language.DE, 3))); assertTrue(l5.contains(new LocalId(Language.EN, 3))); assertTrue(l5.contains(new LocalId(Language.EN, 5))); } }