From 3c2de0e2204842f88e58c1e8f5ef6251c99a84d5 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Wed, 22 May 2013 17:43:40 +0100 Subject: [PATCH] JAL-1297 JAL-1295 JAL-1294 improve test logic for comparing annotation elements --- test/jalview/io/StockholmFileTest.java | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) 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; -- 1.7.10.2