X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Fparadise%2FTestAnnotate3D.java;h=702d9ad42a0586d9a49a0def341cfacf150390c3;hb=9d75efeeb9a6e51bd328f56e376dca4e007b635c;hp=1ed46f4e5669efd773f00a053d7ee982a0293d43;hpb=89b54c4138d9fcf60324227b4b64e92447793d3f;p=jalview.git diff --git a/test/jalview/ext/paradise/TestAnnotate3D.java b/test/jalview/ext/paradise/TestAnnotate3D.java index 1ed46f4..702d9ad 100644 --- a/test/jalview/ext/paradise/TestAnnotate3D.java +++ b/test/jalview/ext/paradise/TestAnnotate3D.java @@ -10,6 +10,8 @@ import jalview.io.FormatAdapter; import java.io.BufferedReader; import java.io.File; +import java.io.Reader; +import java.util.Iterator; import org.junit.Assert; import org.junit.Test; @@ -24,13 +26,17 @@ public class TestAnnotate3D @Test public void testIdVsContent() throws Exception { - BufferedReader id = (BufferedReader) Annotate3D + Iterator ids = Annotate3D .getRNAMLForPDBId("2GIS"); - assertTrue("Didn't retrieve 2GIS by id.", id != null); - BufferedReader file = (BufferedReader) Annotate3D + assertTrue("Didn't retrieve 2GIS by id.", ids != null); + Iterator files = Annotate3D .getRNAMLForPDBFileAsString(FileUtil.readFileToString(new File( "examples/2GIS.pdb"))); - assertTrue("Didn't retrieve using examples/2GIS.pdb.", file != null); + assertTrue("Didn't retrieve using examples/2GIS.pdb.", files != null); + int i=0; + while (ids.hasNext() && files.hasNext()) + { + BufferedReader file=new BufferedReader(files.next()), id=new BufferedReader(ids.next()); String iline, fline; do { @@ -40,12 +46,13 @@ public class TestAnnotate3D System.out.println(iline); if (fline != null) System.out.println(fline); - - assertTrue("Results differ for ID and file upload based retrieval", + // next assert fails for latest RNAview - because the XMLID entries change between file and ID based RNAML generation. + assertTrue("Results differ for ID and file upload based retrieval (chain entry "+(++i)+")", ((iline == fline && iline == null) || (iline != null && fline != null && iline.equals(fline)))); } while (iline != null); + } } /** @@ -62,39 +69,46 @@ public class TestAnnotate3D StringBuffer sb = new StringBuffer(); // Comment - should add new FileParse constructor like new FileParse(Reader // ..). for direct reading - BufferedReader br = new BufferedReader( - Annotate3D.getRNAMLForPDBFileAsString(FileUtil - .readFileToString(new File("examples/2GIS.pdb")))); - String line; - while ((line = br.readLine()) != null) + Iterator readers = Annotate3D + .getRNAMLForPDBFileAsString(FileUtil.readFileToString(new File( + "examples/2GIS.pdb"))); + int r=0; + while (readers.hasNext()) { - sb.append(line + "\n"); - } - assertTrue("No data returned by Annotate3D", sb.length() > 0); - AlignmentI al = new FormatAdapter().readFile(sb.toString(), - FormatAdapter.PASTE, "RNAML"); + System.out.println("Testing RNAML input number "+(++r)); + BufferedReader br = new BufferedReader(readers.next()); + String line; + while ((line = br.readLine()) != null) + { + sb.append(line + "\n"); + } + assertTrue("No data returned by Annotate3D", sb.length() > 0); + AlignmentI al = new FormatAdapter().readFile(sb.toString(), + FormatAdapter.PASTE, "RNAML"); - assertTrue("No alignment returned.", al != null); - assertTrue("No sequences in returned alignment.", al.getHeight() > 0); - for (SequenceI sq : al.getSequences()) - { + assertTrue("No alignment returned.", al != null); + assertTrue("No sequences in returned alignment.", al.getHeight() > 0); + for (SequenceI sq : al.getSequences()) { - SequenceI struseq = null; - String sq_ = new String(sq.getSequence()).toLowerCase(); - for (SequenceI _struseq : pdbf.getSeqsAsArray()) { - if (new String(_struseq.getSequence()).toLowerCase().equals(sq_)) + SequenceI struseq = null; + String sq_ = new String(sq.getSequence()).toLowerCase(); + for (SequenceI _struseq : pdbf.getSeqsAsArray()) { - struseq = _struseq; - break; + if (new String(_struseq.getSequence()).toLowerCase() + .equals(sq_)) + { + struseq = _struseq; + break; + } + } + if (struseq == null) + { + Assert.fail("Couldn't find this sequence in original input:\n" + + new FastaFile().print(new SequenceI[] + { sq }) + "\n\nOriginal input:\n" + + new FastaFile().print(pdbf.getSeqsAsArray()) + "\n"); } - } - if (struseq == null) - { - Assert.fail("Couldn't find this sequence in original input:\n" - + new FastaFile().print(new SequenceI[] - { sq }) + "\n\nOriginal input:\n" - + new FastaFile().print(pdbf.getSeqsAsArray()) + "\n"); } } }