From: Jim Procter Date: Wed, 22 May 2013 16:43:40 +0000 (+0100) Subject: JAL-1297 JAL-1295 JAL-1294 improve test logic for comparing annotation elements X-Git-Tag: Jalview_2_9~249^2~19 X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=commitdiff_plain;h=3c2de0e2204842f88e58c1e8f5ef6251c99a84d5 JAL-1297 JAL-1295 JAL-1294 improve test logic for comparing annotation elements --- diff --git a/test/jalview/io/StockholmFileTest.java b/test/jalview/io/StockholmFileTest.java index 92ee5e0..fc2ffda 100644 --- a/test/jalview/io/StockholmFileTest.java +++ b/test/jalview/io/StockholmFileTest.java @@ -4,6 +4,7 @@ import static org.junit.Assert.*; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; +import jalview.datamodel.Annotation; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; @@ -138,7 +139,7 @@ public class StockholmFileTest for (int i = 0; i < aa_original.length; i++) { if (aa_new.length>i) { - assertTrue("Different alignment annotation ordering", + assertTrue("Different alignment annotation at position "+i, equalss(aa_original[i], aa_new[i])); } else { System.err.println("No matching annotation row for "+aa_original[i].toString()); @@ -254,18 +255,20 @@ public class StockholmFileTest System.err.println("Different lengths for annotation row elements: "+annot_or.annotations.length +"!="+ annot_new.annotations.length); return false; } + // TODO: does not compare graphGroup or graph properties + // TODO: does not compare visibility for (int i = 0; i < annot_or.annotations.length; i++) { - if (annot_or.annotations[i] != null - && annot_new.annotations[i] != null) + Annotation an_or=annot_or.annotations[i],an_new=annot_new.annotations[i]; + if (an_or != null + && an_new!= null) { - // Jim's comment - shouldn't the conditional here be using || not && for - // all these clauses ? - if (!annot_or.annotations[i].displayCharacter - .equals(annot_new.annotations[i].displayCharacter) - && annot_or.annotations[i].secondaryStructure != annot_new.annotations[i].secondaryStructure - && !annot_or.annotations[i].description - .equals(annot_new.annotations[i].description)) + if (!an_or.displayCharacter + .equals(an_new.displayCharacter) + || an_or.secondaryStructure != an_new.secondaryStructure + || (an_or.description != an_new.description && (an_or.description == null + || an_new.description == null || !an_or.description + .equals(an_new.description)))) { System.err.println("Annotation Element Mismatch\nElement "+i+" in original: "+annot_or.annotations[i].toString()+"\nElement "+i+" in new: "+annot_new.annotations[i].toString()); return false;