X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FJalview2xmlTests.java;h=4ed4269deffa75d8c1ae0d55e465351b133b2322;hb=c19d2a91ca05e052e3408bf5852d88eb5d0608f1;hp=e294616a25727a781d440d606b2cc363a4967a1c;hpb=be1777c33711ef0c9f1014ad6d47c7c2021b2526;p=jalview.git
diff --git a/test/jalview/io/Jalview2xmlTests.java b/test/jalview/io/Jalview2xmlTests.java
index e294616..4ed4269 100644
--- a/test/jalview/io/Jalview2xmlTests.java
+++ b/test/jalview/io/Jalview2xmlTests.java
@@ -1,18 +1,47 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
+ * Copyright (C) 2015 The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.io;
-import static org.junit.Assert.*;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.api.AlignmentViewPanel;
+import jalview.api.ViewStyleI;
+import jalview.bin.Cache;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
+import jalview.gui.Desktop;
+import jalview.gui.Jalview2XML;
import jalview.schemes.AnnotationColourGradient;
import jalview.schemes.ColourSchemeI;
import java.io.File;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.AssertJUnit;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
public class Jalview2xmlTests
{
@@ -20,10 +49,11 @@ public class Jalview2xmlTests
/**
* @throws java.lang.Exception
*/
- @BeforeClass
+ @BeforeClass(alwaysRun = true)
public static void setUpBeforeClass() throws Exception
{
- jalview.bin.Jalview.main(new String[] {"-props","test/src/jalview/io/testProps.jvprops"});
+ jalview.bin.Jalview.main(new String[] { "-props",
+ "test/jalview/io/testProps.jvprops" });
}
/**
@@ -33,12 +63,14 @@ public class Jalview2xmlTests
public static void tearDownAfterClass() throws Exception
{
jalview.gui.Desktop.instance.closeAll_actionPerformed(null);
-
+
}
+
public int countDsAnn(jalview.viewmodel.AlignmentViewport avp)
{
- int numdsann=0;
- for (SequenceI sq: avp.getAlignment().getDataset().getSequences()) {
+ int numdsann = 0;
+ for (SequenceI sq : avp.getAlignment().getDataset().getSequences())
+ {
if (sq.getAnnotation() != null)
{
for (AlignmentAnnotation dssa : sq.getAnnotation())
@@ -52,35 +84,52 @@ public class Jalview2xmlTests
}
return numdsann;
}
- @Test
+
+ @Test(groups = { "Functional" })
public void testRNAStructureRecovery() throws Exception
{
String inFile = "examples/RF00031_folded.stk";
- String tfile = File.createTempFile("JalviewTest", ".jvp").getAbsolutePath();
- AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(inFile, FormatAdapter.FILE);
- assertTrue("Didn't read input file "+inFile, af!=null);
- int olddsann=countDsAnn(af.getViewport());
- assertTrue("Didn't find any dataset annotations",olddsann>0);
+ String tfile = File.createTempFile("JalviewTest", ".jvp")
+ .getAbsolutePath();
+ AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(
+ inFile, FormatAdapter.FILE);
+ assertTrue("Didn't read input file " + inFile, af != null);
+ int olddsann = countDsAnn(af.getViewport());
+ assertTrue("Didn't find any dataset annotations", olddsann > 0);
af.rnahelicesColour_actionPerformed(null);
- assertTrue("Couldn't apply RNA helices colourscheme",af.getViewport().getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour);
- assertTrue("Failed to store as a project.",af.saveAlignment(tfile, "Jalview"));
+ assertTrue(
+ "Couldn't apply RNA helices colourscheme",
+ af.getViewport().getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour);
+ assertTrue("Failed to store as a project.",
+ af.saveAlignment(tfile, "Jalview"));
af.closeMenuItem_actionPerformed(true);
- af=null;
- af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile, FormatAdapter.FILE);
- assertTrue("Failed to import new project", af!=null);
- int newdsann=countDsAnn(af.getViewport());
- assertTrue("Differing numbers of dataset sequence annotation\nOriginally "+olddsann+" and now "+newdsann,olddsann==newdsann);
- System.out.println("Read in same number of annotations as originally present ("+olddsann+")");
- assertTrue("RNA helices colourscheme was not applied on import.",af.getViewport().getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour);
+ af = null;
+ af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile,
+ FormatAdapter.FILE);
+ assertTrue("Failed to import new project", af != null);
+ int newdsann = countDsAnn(af.getViewport());
+ assertTrue(
+ "Differing numbers of dataset sequence annotation\nOriginally "
+ + olddsann + " and now " + newdsann,
+ olddsann == newdsann);
+ System.out
+ .println("Read in same number of annotations as originally present ("
+ + olddsann + ")");
+ assertTrue(
+ "RNA helices colourscheme was not applied on import.",
+ af.getViewport().getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour);
}
- @Test
+
+ @Test(groups = { "Functional" })
public void testTCoffeeScores() throws Exception
{
- String inFile = "examples/uniref50.fa",inAnnot="examples/uniref50.score_ascii";
- String tfile = File.createTempFile("JalviewTest", ".jvp").getAbsolutePath();
- AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(inFile, FormatAdapter.FILE);
- assertTrue("Didn't read input file "+inFile, af!=null);
- af.loadJalviewDataFile(inAnnot, FormatAdapter.FILE, null,null);
+ String inFile = "examples/uniref50.fa", inAnnot = "examples/uniref50.score_ascii";
+ String tfile = File.createTempFile("JalviewTest", ".jvp")
+ .getAbsolutePath();
+ AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(
+ inFile, FormatAdapter.FILE);
+ assertTrue("Didn't read input file " + inFile, af != null);
+ af.loadJalviewDataFile(inAnnot, FormatAdapter.FILE, null, null);
assertTrue(
"Didn't set T-coffee colourscheme",
af.getViewport().getGlobalColourScheme().getClass()
@@ -92,26 +141,40 @@ public class Jalview2xmlTests
jalview.schemes.ColourSchemeProperty.getColourName(af
.getViewport().getGlobalColourScheme())) != null);
- assertTrue("Failed to store as a project.",af.saveAlignment(tfile, "Jalview"));
+ assertTrue("Failed to store as a project.",
+ af.saveAlignment(tfile, "Jalview"));
af.closeMenuItem_actionPerformed(true);
- af=null;
- af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile, FormatAdapter.FILE);
- assertTrue("Failed to import new project", af!=null);
- assertTrue("Didn't set T-coffee colourscheme for imported project.",af.getViewport().getGlobalColourScheme().getClass().equals(jalview.schemes.TCoffeeColourScheme.class));
- System.out.println("T-Coffee score shading successfully recovered from project.");
+ af = null;
+ af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile,
+ FormatAdapter.FILE);
+ assertTrue("Failed to import new project", af != null);
+ assertTrue(
+ "Didn't set T-coffee colourscheme for imported project.",
+ af.getViewport().getGlobalColourScheme().getClass()
+ .equals(jalview.schemes.TCoffeeColourScheme.class));
+ System.out
+ .println("T-Coffee score shading successfully recovered from project.");
}
- @Test
+
+ @Test(groups = { "Functional" })
public void testColourByAnnotScores() throws Exception
{
- String inFile = "examples/uniref50.fa",inAnnot="examples/testdata/uniref50_iupred.jva";
- String tfile = File.createTempFile("JalviewTest", ".jvp").getAbsolutePath();
- AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(inFile, FormatAdapter.FILE);
- assertTrue("Didn't read input file "+inFile, af!=null);
- af.loadJalviewDataFile(inAnnot, FormatAdapter.FILE, null,null);
- AlignmentAnnotation[] aa = af.getViewport().getAlignment().getSequenceAt(0).getAnnotation("IUPredWS (Short)");
- assertTrue("Didn't find any IUPred annotation to use to shade alignment.",aa!=null && aa.length>0);
- AnnotationColourGradient cs = new jalview.schemes.AnnotationColourGradient(aa[0], null, AnnotationColourGradient.ABOVE_THRESHOLD);
- AnnotationColourGradient gcs = new jalview.schemes.AnnotationColourGradient(aa[0], null, AnnotationColourGradient.BELOW_THRESHOLD);
+ String inFile = "examples/uniref50.fa", inAnnot = "examples/testdata/uniref50_iupred.jva";
+ String tfile = File.createTempFile("JalviewTest", ".jvp")
+ .getAbsolutePath();
+ AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(
+ inFile, FormatAdapter.FILE);
+ assertTrue("Didn't read input file " + inFile, af != null);
+ af.loadJalviewDataFile(inAnnot, FormatAdapter.FILE, null, null);
+ AlignmentAnnotation[] aa = af.getViewport().getAlignment()
+ .getSequenceAt(0).getAnnotation("IUPredWS (Short)");
+ assertTrue(
+ "Didn't find any IUPred annotation to use to shade alignment.",
+ aa != null && aa.length > 0);
+ AnnotationColourGradient cs = new jalview.schemes.AnnotationColourGradient(
+ aa[0], null, AnnotationColourGradient.ABOVE_THRESHOLD);
+ AnnotationColourGradient gcs = new jalview.schemes.AnnotationColourGradient(
+ aa[0], null, AnnotationColourGradient.BELOW_THRESHOLD);
cs.setSeqAssociated(true);
gcs.setSeqAssociated(true);
af.changeColour(cs);
@@ -123,47 +186,283 @@ public class Jalview2xmlTests
sg.addSequence(af.getViewport().getAlignment().getSequenceAt(1), false);
sg.addSequence(af.getViewport().getAlignment().getSequenceAt(2), true);
af.alignPanel.alignmentChanged();
- assertTrue("Failed to store as a project.",af.saveAlignment(tfile, "Jalview"));
+ assertTrue("Failed to store as a project.",
+ af.saveAlignment(tfile, "Jalview"));
af.closeMenuItem_actionPerformed(true);
- af=null;
- af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile, FormatAdapter.FILE);
- assertTrue("Failed to import new project", af!=null);
-
+ af = null;
+ af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile,
+ FormatAdapter.FILE);
+ assertTrue("Failed to import new project", af != null);
+
// check for group and alignment colourschemes
-
- ColourSchemeI _rcs=af.getViewport().getGlobalColourScheme();
- ColourSchemeI _rgcs=af.getViewport().getAlignment().getGroups().get(0).cs;
- assertTrue("Didn't recover global colourscheme",_rcs!=null);
- assertTrue("Didn't recover annotation colour global scheme",_rcs instanceof AnnotationColourGradient);
+
+ ColourSchemeI _rcs = af.getViewport().getGlobalColourScheme();
+ ColourSchemeI _rgcs = af.getViewport().getAlignment().getGroups()
+ .get(0).cs;
+ assertTrue("Didn't recover global colourscheme", _rcs != null);
+ assertTrue("Didn't recover annotation colour global scheme",
+ _rcs instanceof AnnotationColourGradient);
AnnotationColourGradient __rcs = (AnnotationColourGradient) _rcs;
- assertTrue("Annotation colourscheme wasn't sequence associated",__rcs.isSeqAssociated());
+ assertTrue("Annotation colourscheme wasn't sequence associated",
+ __rcs.isSeqAssociated());
-
- boolean diffseqcols=false,diffgseqcols=false;
- SequenceI[] sqs=af.getViewport().getAlignment().getSequencesArray();
- for (int p=0,pSize=af.getViewport().getAlignment().getWidth();p