X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FAlignViewportTest.java;h=00267b31d4ee5b3cda04325dde87c5493f4cf633;hb=01e36c0ce9358948c93009c93b54d6a8ec69138b;hp=959abb086155807e590011b6265180df5a9a7e90;hpb=0356abc2cb7040672bc8fde68cafb77a2d623b5d;p=jalview.git diff --git a/test/jalview/gui/AlignViewportTest.java b/test/jalview/gui/AlignViewportTest.java index 959abb0..00267b3 100644 --- a/test/jalview/gui/AlignViewportTest.java +++ b/test/jalview/gui/AlignViewportTest.java @@ -27,6 +27,14 @@ import static org.testng.AssertJUnit.assertNotSame; import static org.testng.AssertJUnit.assertSame; import static org.testng.AssertJUnit.assertTrue; +import java.util.ArrayList; +import java.util.List; + +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + import jalview.bin.Cache; import jalview.bin.Jalview; import jalview.datamodel.AlignedCodonFrame; @@ -48,14 +56,6 @@ import jalview.structure.StructureSelectionManager; import jalview.util.MapList; import jalview.viewmodel.ViewportRanges; -import java.util.ArrayList; -import java.util.List; - -import org.testng.Assert; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - public class AlignViewportTest { @@ -297,9 +297,29 @@ public class AlignViewportTest * wait for Conservation thread to complete */ AlignViewport viewport = af.getViewport(); + waitForCalculations(viewport); + AlignmentAnnotation[] anns = viewport.getAlignment() + .getAlignmentAnnotation(); + assertNotNull("No annotations found", anns); + assertEquals("More than one annotation found", 1, anns.length); + assertTrue("Annotation is not Quality", + anns[0].description.startsWith("Alignment Quality")); + Annotation[] annotations = anns[0].annotations; + assertNotNull("Quality annotations are null", annotations); + assertNotNull("Quality in column 1 is null", annotations[0]); + assertTrue("No quality value in column 1", annotations[0].value > 10f); + } + + /** + * Wait for consensus etc calculation threads to complete + * + * @param viewport + */ + protected void waitForCalculations(AlignViewport viewport) + { synchronized (this) { - while (viewport.getAlignmentConservationAnnotation() != null) + while (viewport.getCalcManager().isWorking()) { try { @@ -309,16 +329,6 @@ public class AlignViewportTest } } } - AlignmentAnnotation[] anns = viewport.getAlignment() - .getAlignmentAnnotation(); - assertNotNull("No annotations found", anns); - assertEquals("More than one annotation found", 1, anns.length); - assertTrue("Annotation is not Quality", - anns[0].description.startsWith("Alignment Quality")); - Annotation[] annotations = anns[0].annotations; - assertNotNull("Quality annotations are null", annotations); - assertNotNull("Quality in column 1 is null", annotations[0]); - assertTrue("No quality value in column 1", annotations[0].value > 10f); } @Test(groups = { "Functional" }) @@ -466,6 +476,7 @@ public class AlignViewportTest AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(fasta, DataSourceType.PASTE); AlignViewport testme = af.getViewport(); + waitForCalculations(testme); SequenceI cons = testme.getConsensusSeq(); assertEquals("A-C", cons.getSequenceAsString()); }