X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2FPDBSequenceFetcherTest.java;h=e7f9ff1288b2332899d670f3c61d0f24a6da93ae;hb=4ea2f7c6e700c5137c62a09a93d0127f8d58158b;hp=78ab67e0353925c0579f5775a7d9f1efd5795bc8;hpb=8ae616ebad21429f5c58a9190b9919e873806c3c;p=jalview.git diff --git a/test/jalview/ws/PDBSequenceFetcherTest.java b/test/jalview/ws/PDBSequenceFetcherTest.java index 78ab67e..e7f9ff1 100644 --- a/test/jalview/ws/PDBSequenceFetcherTest.java +++ b/test/jalview/ws/PDBSequenceFetcherTest.java @@ -35,6 +35,7 @@ import jalview.ws.seqfetcher.DbSourceProxy; import java.util.Arrays; import java.util.List; +import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -61,7 +62,7 @@ public class PDBSequenceFetcherTest Cache.applicationProperties.setProperty("ADD_SS_ANN", Boolean.TRUE.toString()); - sf = new SequenceFetcher(false); + sf = new SequenceFetcher(); } /** @@ -131,6 +132,7 @@ public class PDBSequenceFetcherTest private void testRetrieveProteinSeqFromPDB() throws Exception { List sps = sf.getSourceProxy("PDB"); + StringBuilder errors = new StringBuilder(); for (TestRetrieveObject str : toRetrieve) { AlignmentI response = sps.get(0).getSequenceRecords(str.id); @@ -145,14 +147,36 @@ public class PDBSequenceFetcherTest sq.getAllPDBEntries().size() > 0); // FIXME: should test that all residues extracted as sequences from // chains in structure have a mapping to data in the structure - - for (int rs = sq.getStart(); rs < sq.getStart() - + sq.getLength(); rs++) + List prev = null; + int lastp = -1; + for (int col = 1; col <= sq.getLength(); col++) { - List sf = sq.findFeatures(rs, rs, "RESNUM"); - assertEquals(sf.size(), 1); + List sf = sq.findFeatures(col, col, "RESNUM"); + if (sf.size() != 1) + { + errors.append(str.id + ": " + + "Expected one feature at column (position): " + + (col - 1) + " (" + sq.findPosition(col - 1) + ")" + + ": saw " + sf.size()); + errors.append("\n"); + if (prev != null) + { + errors.append("Last Feature was at position " + lastp + ": " + + prev.get(0).toString()); + errors.append("\n"); + } + } + else + { + prev = sf; + lastp = sq.findPosition(col - 1); + } } } } + if (errors.length() > 0) + { + Assert.fail(errors.toString()); + } } }