package org.nextprot.api.core.utils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.nextprot.api.core.domain.*;
import org.nextprot.api.core.service.MainNamesService;
public class BinaryInteraction2AnnotationTest {
// mock for MainNamesService (not standard, I know, sorry)
private class MyMainNamesService implements MainNamesService {
private Map<String, MainNames> map;
public MyMainNamesService() {
map = new HashMap<>();
MainNames names1 = new MainNames();
names1.setAccession("NX_P61626");
names1.setGeneNameList(Arrays.asList(new String[]{"fakegene1"}));
names1.setName("fakename1");
map.put("NX_P61626", names1);
MainNames names2 = new MainNames();
names2.setAccession("NX_P61626-1");
names2.setGeneNameList(Arrays.asList(new String[]{"fakegene1"}));
names2.setName("fakename1-1");
map.put("NX_P61626-1", names2);
MainNames names3 = new MainNames();
names3.setAccession("Q81LD0");
names3.setGeneNameList(Arrays.asList(new String[]{"fakegene2"}));
names3.setName("fakename2");
map.put("Q81LD0", names3);
}
@Override
public Map<String, MainNames> findIsoformOrEntryMainName() {
return map;
}
}
MainNamesService mainNamesService = new MyMainNamesService();
@Test
public void testConvertEvidenceToBioEntry() {
Interactant interactant = new Interactant();
interactant.setAccession("NX_P61626");
interactant.setDatabase("nextProt");
interactant.setNextprot(true);
interactant.setXrefId(123L);
BioObject bo = BinaryInteraction2Annotation.newBioObject(interactant,mainNamesService);
Assert.assertEquals("NX_P61626", bo.getAccession());
Assert.assertEquals("neXtProt", bo.getDatabase());
Assert.assertEquals(123L, bo.getId());
Assert.assertEquals(BioObject.BioType.PROTEIN, bo.getBioType());
}
@Test
public void testConvertEvidenceToBioIsoform() {
Interactant interactant = new Interactant();
interactant.setAccession("NX_P61626-1");
interactant.setDatabase("nextProt");
interactant.setNextprot(true);
interactant.setXrefId(123L);
BioObject bo = BinaryInteraction2Annotation.newBioObject(interactant,mainNamesService);
Assert.assertEquals("NX_P61626-1", bo.getAccession());
Assert.assertEquals("neXtProt", bo.getDatabase());
Assert.assertEquals(123L, bo.getId());
Assert.assertEquals(BioObject.BioType.PROTEIN_ISOFORM, bo.getBioType());
}
@Test
public void testConvertEvidenceToExternalBioEntry() {
Interactant interactant = new Interactant();
interactant.setAccession("Q81LD0");
interactant.setDatabase("UniProt");
interactant.setNextprot(false);
interactant.setXrefId(15642964L);
BioObject bo = BinaryInteraction2Annotation.newBioObject(interactant,mainNamesService);
Assert.assertEquals("Q81LD0", bo.getAccession());
Assert.assertEquals("UniProt", bo.getDatabase());
Assert.assertEquals(15642964L, bo.getId());
Assert.assertEquals(BioObject.BioType.PROTEIN, bo.getBioType());
}
}