package jalview.io; import jalview.bin.Cache; import jalview.bin.Jalview; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.SequenceI; import jalview.gui.Desktop; import java.util.Date; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeTest; public class Jalview2xmlBase { /** * @throws java.lang.Exception */ @BeforeClass(alwaysRun = true) public static void setUpBeforeClass() throws Exception { /* * use read-only test properties file */ Cache.loadProperties("test/jalview/io/testProps.jvprops"); /* * set news feed last read to a future time to ensure no * 'unread' news item is displayed */ Date oneHourFromNow = new Date(System.currentTimeMillis() + 3600 * 1000); Cache.setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED", oneHourFromNow); Jalview.main(new String[] {}); } /** * @throws java.lang.Exception */ @AfterClass(alwaysRun = true) public static void tearDownAfterClass() throws Exception { jalview.gui.Desktop.instance.closeAll_actionPerformed(null); } @BeforeTest(alwaysRun = true) public static void clearDesktop() { if (Desktop.instance != null && Desktop.getAlignFrames() != null) { Desktop.instance.closeAll_actionPerformed(null); } } public int countDsAnn(jalview.viewmodel.AlignmentViewport avp) { int numdsann = 0; for (SequenceI sq : avp.getAlignment().getDataset().getSequences()) { if (sq.getAnnotation() != null) { for (AlignmentAnnotation dssa : sq.getAnnotation()) { if (dssa.isValidStruc()) { numdsann++; } } } } return numdsann; } }