X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FStockholmFileTest.java;h=d7a9166a059437aeb4454d1d5a7380b8678f1f07;hb=81962dc8c5cd2088ef2b3aff2cbdded0230dde53;hp=8fece9d1ad00146b9be41c7feb6dc16fee973420;hpb=7ab5d6b0ba5fec1ea4a4239e79c476d841622485;p=jalview.git diff --git a/test/jalview/io/StockholmFileTest.java b/test/jalview/io/StockholmFileTest.java index 8fece9d..d7a9166 100644 --- a/test/jalview/io/StockholmFileTest.java +++ b/test/jalview/io/StockholmFileTest.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 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. * @@ -20,9 +20,10 @@ */ package jalview.io; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import jalview.datamodel.Alignment; +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertNotNull; +import static org.testng.AssertJUnit.assertTrue; + import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; @@ -34,7 +35,7 @@ import java.util.BitSet; import java.util.HashMap; import java.util.Map; -import org.junit.Test; +import org.testng.annotations.Test; public class StockholmFileTest { @@ -42,24 +43,24 @@ public class StockholmFileTest static String PfamFile = "examples/PF00111_seed.stk", RfamFile = "examples/RF00031_folded.stk"; - @Test + @Test(groups = { "Functional" }) public void pfamFileIO() throws Exception { - testFileIOwithFormat(new File(PfamFile), "STH"); + testFileIOwithFormat(new File(PfamFile), "STH", -1, 0); } - @Test + @Test(groups = { "Functional" }) public void pfamFileDataExtraction() throws Exception { AppletFormatAdapter af = new AppletFormatAdapter(); AlignmentI al = af.readFile(PfamFile, af.FILE, - new IdentifyFile().Identify(PfamFile, af.FILE)); + new IdentifyFile().identify(PfamFile, af.FILE)); int numpdb = 0; for (SequenceI sq : al.getSequences()) { - if (sq.getPDBId() != null) + if (sq.getAllPDBEntries() != null) { - numpdb += sq.getPDBId().size(); + numpdb += sq.getAllPDBEntries().size(); } } assertTrue( @@ -67,10 +68,10 @@ public class StockholmFileTest numpdb > 0); } - @Test + @Test(groups = { "Functional" }) public void rfamFileIO() throws Exception { - testFileIOwithFormat(new File(RfamFile), "STH"); + testFileIOwithFormat(new File(RfamFile), "STH", 2, 1); } /** @@ -83,7 +84,9 @@ public class StockholmFileTest * - label for IO class used to write and read back in the data from * f */ - public static void testFileIOwithFormat(File f, String ioformat) + + public static void testFileIOwithFormat(File f, String ioformat, + int naliannot, int nminseqann) { System.out.println("Reading file: " + f); String ff = f.getPath(); @@ -91,8 +94,8 @@ public class StockholmFileTest { AppletFormatAdapter rf = new AppletFormatAdapter(); - Alignment al = rf.readFile(ff, AppletFormatAdapter.FILE, - new IdentifyFile().Identify(ff, AppletFormatAdapter.FILE)); + AlignmentI al = rf.readFile(ff, AppletFormatAdapter.FILE, + new IdentifyFile().identify(ff, AppletFormatAdapter.FILE)); assertNotNull("Couldn't read supplied alignment data.", al); @@ -105,11 +108,11 @@ public class StockholmFileTest System.out.println("Output file in '" + ioformat + "':\n" + outputfile + "\n< -1) + { + assertEquals("Number of alignment annotations", naliannot, + numaliannot); + } + + assertTrue( + "Number of sequence associated annotations wasn't at least " + + nminseqann, numsqswithali >= nminseqann); + } catch (Exception e) { e.printStackTrace(); @@ -133,9 +158,11 @@ public class StockholmFileTest * @param al_input * 'secondary' or generated alignment from some datapreserving * transformation + * @param ignoreFeatures + * when true, differences in seuqence feature annotation are ignored. */ public static void testAlignmentEquivalence(AlignmentI al, - AlignmentI al_input) + AlignmentI al_input, boolean ignoreFeatures) { assertNotNull("Original alignment was null", al); assertNotNull("Generated alignment was null", al_input); @@ -237,9 +264,11 @@ public class StockholmFileTest + " are not equal", ss_original.equals(ss_new)); assertTrue( - "Sequence Features were not equivalent", - (seq_original[i].getSequenceFeatures() == null && seq_new[in] - .getSequenceFeatures() == null) + "Sequence Features were not equivalent" + + (ignoreFeatures ? " ignoring." : ""), + ignoreFeatures + || (seq_original[i].getSequenceFeatures() == null && seq_new[in] + .getSequenceFeatures() == null) || (seq_original[i].getSequenceFeatures() != null && seq_new[in] .getSequenceFeatures() != null)); // compare sequence features @@ -322,9 +351,11 @@ public class StockholmFileTest an_new.displayCharacter.trim()) || !("" + an_or.secondaryStructure).trim().equals( ("" + an_new.secondaryStructure).trim()) - || (an_or.description != an_new.description && (an_or.description == null - || an_new.description == null || !an_or.description - .equals(an_new.description)))) + || (an_or.description != an_new.description && !((an_or.description == null && an_new.description + .trim().length() == 0) + || (an_new.description == null && an_or.description + .trim().length() == 0) || an_or.description + .trim().equals(an_new.description.trim())))) { System.err.println("Annotation Element Mismatch\nElement " + i + " in original: " + annot_or.annotations[i].toString()