X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fanalysis%2FCrossRefTest.java;h=81ec443cf7358e38a68a1af79030881906f2435b;hb=549cdd8bcac48cade7880c4a800d9c90b4d02632;hp=24ddb34ce9dd79428ff5e36e815f18bffde10e60;hpb=bf0a46a8e950f4cf270c2f13e0f5bcf9dd206b70;p=jalview.git diff --git a/test/jalview/analysis/CrossRefTest.java b/test/jalview/analysis/CrossRefTest.java index 24ddb34..81ec443 100644 --- a/test/jalview/analysis/CrossRefTest.java +++ b/test/jalview/analysis/CrossRefTest.java @@ -37,6 +37,7 @@ import jalview.datamodel.Mapping; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; +import jalview.gui.JvOptionPane; import jalview.util.DBRefUtils; import jalview.util.MapList; import jalview.ws.SequenceFetcher; @@ -46,10 +47,19 @@ import java.util.ArrayList; import java.util.List; import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class CrossRefTest { + + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + @Test(groups = { "Functional" }) public void testFindXDbRefs() { @@ -96,7 +106,7 @@ public class CrossRefTest public void testFindXrefSourcesForSequence_proteinToDna() { SequenceI seq = new Sequence("Seq1", "MGKYQARLSS"); - List sources = new ArrayList(); + List sources = new ArrayList<>(); AlignmentI al = new Alignment(new SequenceI[] {}); /* @@ -121,8 +131,10 @@ public class CrossRefTest seq.addDBRef(new DBRefEntry("ENSEMBLGENOMES", "0", "E2350")); sources = new CrossRef(new SequenceI[] { seq }, al) .findXrefSourcesForSequences(false); + // method is patched to remove EMBL from the sources to match assertEquals(4, sources.size()); - assertEquals("[EMBL, EMBLCDS, GENEDB, ENSEMBL]", sources.toString()); + assertEquals("[EMBLCDS, GENEDB, ENSEMBL, ENSEMBLGENOMES]", + sources.toString()); /* * add a sequence to the alignment which has a dbref to UNIPROT|A1234 @@ -140,8 +152,9 @@ public class CrossRefTest al.addSequence(seq2); sources = new CrossRef(new SequenceI[] { seq, seq2 }, al) .findXrefSourcesForSequences(false); - assertEquals(3, sources.size()); - assertEquals("[EMBLCDS, EMBL, GENEDB]", sources.toString()); + // method removed EMBL from sources to match + assertEquals(2, sources.size()); + assertEquals("[EMBLCDS, GENEDB]", sources.toString()); } /** @@ -249,8 +262,7 @@ public class CrossRefTest */ SequenceI dna1 = new Sequence("AF039662", "GGGGCAGCACAAGAAC"); Mapping map = new Mapping(new Sequence("pep2", "MLAVSRG"), new MapList( - new int[] { 1, 21 }, new int[] { - 1, 7 }, 3, 1)); + new int[] { 1, 21 }, new int[] { 1, 7 }, 3, 1)); DBRefEntry dbref = new DBRefEntry("UNIPROT", "0", "Q9ZTS2", map); dna1.addDBRef(dbref); dna1.addDBRef(new DBRefEntry("EMBL", "0", "AF039662")); @@ -259,7 +271,7 @@ public class CrossRefTest pep1.addDBRef(new DBRefEntry("UNIPROT", "0", "Q9ZTS2")); AlignmentI al = new Alignment(new SequenceI[] { dna1, pep1 }); - List result = new ArrayList(); + List result = new ArrayList<>(); /* * first search for a dbref nowhere on the alignment: @@ -280,7 +292,7 @@ public class CrossRefTest dbref = new DBRefEntry("UNIPROT", "0", "Q9ZTS2"); found = testee.searchDataset(!dna1.isProtein(), dna1, dbref, result, acf, false); // search dataset with a protein xref from a dna - // sequence to locate the protein product + // sequence to locate the protein product assertTrue(found); assertEquals(1, result.size()); assertSame(pep1, result.get(0)); @@ -294,7 +306,7 @@ public class CrossRefTest dbref = new DBRefEntry("UNIPROT", "0", "Q9ZTS2"); found = testee.searchDataset(!pep1.isProtein(), pep1, dbref, result, acf, false); // search dataset with a protein's direct dbref to - // locate dna sequences with matching xref + // locate dna sequences with matching xref assertTrue(found); assertEquals(1, result.size()); assertSame(dna1, result.get(0)); @@ -402,17 +414,20 @@ public class CrossRefTest public void testFindXrefSequences_withFetch() { SequenceI dna1 = new Sequence("AF039662", "GGGGCAGCACAAGAAC"); - dna1.addDBRef(new DBRefEntry("UNIPROT", "0", "Q9ZTS2")); - dna1.addDBRef(new DBRefEntry("UNIPROT", "0", "P30419")); - dna1.addDBRef(new DBRefEntry("UNIPROT", "0", "P00314")); + dna1.addDBRef(new DBRefEntry("UNIPROT", "ENA:0", "Q9ZTS2")); + dna1.addDBRef(new DBRefEntry("UNIPROT", "ENA:0", "P30419")); + dna1.addDBRef(new DBRefEntry("UNIPROT", "ENA:0", "P00314")); final SequenceI pep1 = new Sequence("Q9ZTS2", "MYQLIRSSW"); + pep1.addDBRef(new DBRefEntry("UNIPROT", "0", "Q9ZTS2")); + final SequenceI pep2 = new Sequence("P00314", "MRKLLAASG"); + pep2.addDBRef(new DBRefEntry("UNIPROT", "0", "P00314")); /* * argument false suppresses adding DAS sources * todo: define an interface type SequenceFetcherI and mock that */ - SequenceFetcher mockFetcher = new SequenceFetcher(false) + SequenceFetcher mockFetcher = new SequenceFetcher() { @Override public boolean isFetchable(String source) @@ -439,7 +454,7 @@ public class CrossRefTest assertSame(pep2, xrefs.getSequenceAt(1)); } - @AfterClass + @AfterClass(alwaysRun = true) public void tearDown() { SequenceFetcherFactory.setSequenceFetcher(null); @@ -471,7 +486,7 @@ public class CrossRefTest * 'spliced transcript' with CDS ranges */ SequenceI braf002 = new Sequence("ENST00000497784", "gCAGGCtaTCTGTTCaa"); - braf002.addDBRef(new DBRefEntry("UNIPROT", "0", "H7C5K3")); + braf002.addDBRef(new DBRefEntry("UNIPROT", "ENSEMBL|0", "H7C5K3")); braf002.addSequenceFeature(new SequenceFeature("CDS", "", 2, 6, 0f, null)); braf002.addSequenceFeature(new SequenceFeature("CDS", "", 9, 15, 0f, @@ -483,13 +498,14 @@ public class CrossRefTest * which happens to be true for Uniprot,PDB,EMBL but not Pfam,Rfam,Ensembl */ final SequenceI pep1 = new Sequence("UNIPROT|P15056", "MAAL"); + pep1.addDBRef(new DBRefEntry("UNIPROT", "0", "P15056")); final SequenceI pep2 = new Sequence("UNIPROT|H7C5K3", "QALF"); - + pep2.addDBRef(new DBRefEntry("UNIPROT", "0", "H7C5K3")); /* * argument false suppresses adding DAS sources * todo: define an interface type SequenceFetcherI and mock that */ - SequenceFetcher mockFetcher = new SequenceFetcher(false) + SequenceFetcher mockFetcher = new SequenceFetcher() { @Override public boolean isFetchable(String source) @@ -620,7 +636,7 @@ public class CrossRefTest */ final SequenceI x07547 = new Sequence("EMBL|X07547", "cccAAACCCTTTGGG"); DBRefEntry dbref7 = new DBRefEntry("UNIPROT", "0", "P0CE20"); - dbref7.setMap(new Mapping(new Sequence("UNIPROT|P0CE19", "KPFG"), + dbref7.setMap(new Mapping(new Sequence("UNIPROT|P0CE20", "PFGK"), new MapList(map2))); x07547.addDBRef(dbref7); DBRefEntry dbref8 = new DBRefEntry("UNIPROT", "0", "B0BCM4"); @@ -635,7 +651,7 @@ public class CrossRefTest * passed in calls to getSequences() - important to verify that * duplicate sequence fetches are not requested */ - SequenceFetcher mockFetcher = new SequenceFetcher(false) + SequenceFetcher mockFetcher = new SequenceFetcher() { int call = 0;