package org.nextprot.api.core.dao;
import com.github.springtestdbunit.annotation.DatabaseOperation;
import com.github.springtestdbunit.annotation.DatabaseSetup;
import org.junit.Test;
import org.nextprot.api.core.domain.DbXref;
import org.nextprot.api.core.test.base.CoreUnitBaseTest;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import static org.junit.Assert.assertEquals;
@DatabaseSetup(value = "DbXrefDaoTest.xml", type = DatabaseOperation.INSERT)
public class DbXrefDaoTest extends CoreUnitBaseTest {
@Autowired private DbXrefDao xrefDao;
@Test
public void findDbXRefsByPublicationId() {
List<DbXref> xrefs = this.xrefDao.findDbXRefsByPublicationId(100L);
assertEquals(1, xrefs.size());
assertEquals("PubMed", xrefs.get(0).getDatabaseName());
assertEquals("cat", xrefs.get(0).getDatabaseCategory());
}
@Test
public void findDbXrefsByMaster() {
List<DbXref> xrefs = this.xrefDao.findDbXrefsByMaster("NX_P12345");
assertEquals(3, xrefs.size());
assertEquals("Cosmic", xrefs.get(0).getDatabaseName());
assertEquals(4000L, xrefs.get(0).getDbXrefId().longValue());
assertEquals("333", xrefs.get(0).getAccession());
assertEquals("cat", xrefs.get(0).getDatabaseCategory());
assertEquals("http://cancer.sanger.ac.uk/cosmic/", xrefs.get(0).getUrl());
assertEquals("http://cosmic.com?id=5", xrefs.get(0).getLinkUrl());
assertEquals("Ensembl", xrefs.get(1).getDatabaseName());
assertEquals(130L, xrefs.get(1).getDbXrefId().longValue());
assertEquals("3D", xrefs.get(1).getAccession());
assertEquals("cat", xrefs.get(1).getDatabaseCategory());
assertEquals("http://ensembl.com", xrefs.get(1).getUrl());
assertEquals("http://ensembl.com?id=7", xrefs.get(1).getLinkUrl());
assertEquals("PubMed", xrefs.get(2).getDatabaseName());
assertEquals(120L, xrefs.get(2).getDbXrefId().longValue());
assertEquals("789654", xrefs.get(2).getAccession());
assertEquals("cat", xrefs.get(2).getDatabaseCategory());
assertEquals("http://pubmed.com", xrefs.get(2).getUrl());
assertEquals("http://pubmed.com?id=3", xrefs.get(2).getLinkUrl());
}
}