package fr.ens.biologie.genomique.eoulsan.translator; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.List; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import org.junit.Before; import org.junit.Test; import fr.ens.biologie.genomique.eoulsan.translators.CommonLinksInfoTranslator; import fr.ens.biologie.genomique.eoulsan.translators.MultiColumnTranslator; public class CommonLinksInfoTranslatorTest { private static final String[] ARRAY_FIELD = {"Col1", "Col2", "Col3", "Col4"}; private static final String[] ARRAY_ROW_ONE = {"A", "1", "A1", "0"}; private static final String[] ARRAY_ROW_TWO = {"B", "2", "B2", "0"}; private static final String[] ARRAY_ROW_THREE = {"C", "3.0", "C3", "0"}; private static final String[] ARRAY_ROW_FOUR = {"D", "4", "D4", "0"}; private static final String[] ARRAY_ROW_FIVE = {"E", "4", "D4"}; MultiColumnTranslator transl = new MultiColumnTranslator(ARRAY_FIELD); @Before public void setUp() throws Exception { transl.addRow(ARRAY_ROW_ONE); transl.addRow(ARRAY_ROW_TWO); transl.addRow(ARRAY_ROW_THREE); transl.addRow(ARRAY_ROW_FOUR); transl.addRow(ARRAY_ROW_FIVE); } @Test public void testCommonLinksInfoTranslatorTranslator() { try { new CommonLinksInfoTranslator(null); assertTrue(false); } catch (RuntimeException e) { assertTrue(true); } CommonLinksInfoTranslator cmLinkInfoTransl = new CommonLinksInfoTranslator(transl); List<String> fields = cmLinkInfoTransl.getFields(); assertEquals("Col2", fields.get(0)); } @Test public void testIsLinkInfo() { CommonLinksInfoTranslator cmLinkInfoTransl = new CommonLinksInfoTranslator(transl); assertFalse(cmLinkInfoTransl.isLinkInfo(null)); assertFalse(cmLinkInfoTransl.isLinkInfo("notLinkInfo")); assertTrue(cmLinkInfoTransl.isLinkInfo("EnsemblID")); } @Test public void testGetLinkInfo() throws UnsupportedEncodingException { CommonLinksInfoTranslator cmLinkInfoTransl = new CommonLinksInfoTranslator(transl); assertNull(cmLinkInfoTransl.getLinkInfo("", "")); assertEquals("http://www.ncbi.nlm.nih.gov/nuccore/TranslatedId", cmLinkInfoTransl.getLinkInfo("TranslatedId", "GI")); assertEquals("http://www.ensembl.org/id/TranslatedId", cmLinkInfoTransl.getLinkInfo("TranslatedId", "EnsemblID")); assertEquals( "http://www.ncbi.nlm.nih.gov/sites/entrez?Db=gene&Cmd=ShowDetailView&TermToSearch=TranslatedId", cmLinkInfoTransl.getLinkInfo("TranslatedId", "EntrezGeneID")); assertEquals("http://www.informatics.jax.org/marker/MGI%253ATranslatedId", cmLinkInfoTransl.getLinkInfo( URLEncoder.encode("MGI:TranslatedId", "UTF-8"), "MGI ID")); assertEquals("http://db.yeastgenome.org/cgi-bin/locus.pl?dbid=TranslatedId", cmLinkInfoTransl.getLinkInfo("TranslatedId", "SGDID")); assertEquals( "http://genome.jgi-psf.org/cgi-bin/dispGeneModel?db=Phatr2&tid=TranslatedId", cmLinkInfoTransl.getLinkInfo("TranslatedId", "Phatr2 Protein HyperLink")); } }