X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fseqfetcher%2FDbRefFetcherTest.java;h=de91af3eb3ad26733874801998bc7ed26de642d1;hb=fab0afc9e1e7a5ca460f0cbd48545536f989a435;hp=f17ac4305629f3591d5ecf350f09203dbe0c84c3;hpb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;p=jalview.git diff --git a/test/jalview/ws/seqfetcher/DbRefFetcherTest.java b/test/jalview/ws/seqfetcher/DbRefFetcherTest.java index f17ac43..de91af3 100644 --- a/test/jalview/ws/seqfetcher/DbRefFetcherTest.java +++ b/test/jalview/ws/seqfetcher/DbRefFetcherTest.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -21,6 +21,7 @@ package jalview.ws.seqfetcher; import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertFalse; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; @@ -31,10 +32,14 @@ import jalview.datamodel.DBRefSource; import jalview.datamodel.FeatureProperties; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; +import jalview.gui.JvOptionPane; import jalview.util.DBRefUtils; import jalview.ws.SequenceFetcher; +import jalview.ws.dbsources.Pdb; +import jalview.ws.dbsources.Uniprot; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.testng.annotations.AfterClass; @@ -48,6 +53,13 @@ import org.testng.annotations.Test; public class DbRefFetcherTest { + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + /** * @throws java.lang.Exception */ @@ -60,45 +72,48 @@ public class DbRefFetcherTest /** * @throws java.lang.Exception */ - @AfterClass + @AfterClass(alwaysRun = true) public static void tearDownAfterClass() throws Exception { } /** * Tests that standard protein database sources include Uniprot (as the first) - * and also PDB. (Additional sources are dependent on available of DAS + * and also PDB. (Additional sources are dependent on availability of DAS * services.) */ @Test(groups = { "Functional" }) public void testStandardProtDbs() { - String[] defdb = DBRefSource.PROTEINDBS; + List defdb = new ArrayList(); + defdb.addAll(Arrays.asList(DBRefSource.PROTEINDBS)); + defdb.add(DBRefSource.PDB); List srces = new ArrayList(); + SequenceFetcher sfetcher = new SequenceFetcher(); + boolean pdbFound = false; + for (String ddb : defdb) { - SequenceFetcher sfetcher = new SequenceFetcher(); List srcesfordb = sfetcher.getSourceProxy(ddb); if (srcesfordb != null) { + // TODO is this right? get duplicate entries srces.addAll(srcesfordb); } } int i = 0; int uniprotPos = -1; - int pdbPos = -1; - // append the selected sequence sources to the default dbs for (DbSourceProxy s : srces) { - if (s instanceof jalview.ws.dbsources.Uniprot) + if (s instanceof Uniprot && uniprotPos == -1) { uniprotPos = i; } - if (s instanceof jalview.ws.dbsources.Pdb) + if (s instanceof Pdb) { - pdbPos = i; + pdbFound = true; } i++; } @@ -107,7 +122,7 @@ public class DbRefFetcherTest + srces.size() + " sources (source was at position " + uniprotPos + ")", uniprotPos == 0); assertTrue("Failed to find PDB source amongst " + srces.size() - + " sources", pdbPos >= 0); + + " sources", pdbFound); } /** @@ -159,24 +174,23 @@ public class DbRefFetcherTest SequenceI seq = alsq.getSequenceAt(0); assertEquals("Wrong sequence name", embl.getDbSource() + "|" + retrievalId, seq.getName()); - SequenceFeature[] sfs = seq.getSequenceFeatures(); - assertNotNull("Sequence features missing", sfs); + List sfs = seq.getSequenceFeatures(); + assertFalse("Sequence features missing", sfs.isEmpty()); assertTrue( "Feature not CDS", FeatureProperties.isCodingFeature(embl.getDbSource(), - sfs[0].getType())); - assertEquals(embl.getDbSource(), sfs[0].getFeatureGroup()); - DBRefEntry[] dr = DBRefUtils.selectRefs(seq.getDBRef(), - DBRefSource.PROTEINSEQ); + sfs.get(0).getType())); + assertEquals(embl.getDbSource(), sfs.get(0).getFeatureGroup()); + DBRefEntry[] dr = DBRefUtils.selectRefs(seq.getDBRefs(), + new String[] { DBRefSource.UNIPROT }); assertNotNull(dr); assertEquals("Expected a single Uniprot cross reference", 1, dr.length); assertEquals("Expected cross reference map to be one amino acid", dr[0] .getMap().getMappedWidth(), 1); assertEquals("Expected local reference map to be 3 nucleotides", dr[0] .getMap().getWidth(), 3); - AlignmentI sprods = CrossRef.findXrefSequences( - alsq.getSequencesArray(), true, dr[0].getSource(), - alsq.getDataset()); + AlignmentI sprods = new CrossRef(alsq.getSequencesArray(), alsq) + .findXrefSequences(dr[0].getSource(), true); assertNotNull( "Couldn't recover cross reference sequence from dataset. Was it ever added ?", sprods);