JAL-629 Test and fix --annotation --ssannotation args. Added a viewerType arg/subval...
[jalview.git] / test / jalview / ws / dbsources / EBIAlphaFoldTest.java
index e619b8e..076ee7e 100644 (file)
@@ -1,14 +1,22 @@
 package jalview.ws.dbsources;
 
+import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
 
+import org.json.simple.parser.ParseException;
 import org.junit.Assert;
+import org.testng.FileAssert;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
 import jalview.datamodel.Sequence;
+import jalview.gui.Desktop;
 import jalview.gui.JvOptionPane;
+import jalview.structure.StructureMapping;
+import jalview.structure.StructureSelectionManager;
 import jalview.ws.datamodel.alphafold.PAEContactMatrix;
 
 public class EBIAlphaFoldTest
@@ -40,4 +48,36 @@ public class EBIAlphaFoldTest
                     new FileInputStream(paeFile)));
     Assert.assertNotEquals("No data from " + paeFile, cm.getMax(), 0);
   }
+
+  @Test(groups = { "Functional" }, dataProvider = "getPDBandPAEfiles")
+  public void checkImportPAEToStructure(String pdbFile, String paeFile)
+  {
+    FileInputStream paeInput = null;
+    try
+    {
+      paeInput = new FileInputStream(paeFile);
+    } catch (FileNotFoundException e)
+    {
+      e.printStackTrace();
+      FileAssert.assertFile(new File(paeFile),
+              "Test file '" + paeFile + "' doesn't seem to exist");
+    }
+    StructureSelectionManager ssm = StructureSelectionManager
+            .getStructureSelectionManager(Desktop.instance);
+
+    StructureMapping[] smArray = ssm.getMapping(pdbFile);
+
+    try
+    {
+      boolean done = EBIAlfaFold.importPaeJSONAsContactMatrixToStructure(
+              smArray, paeInput, "label");
+      Assert.assertTrue(
+              "Import of '" + paeFile + "' didn't complete successfully",
+              done);
+    } catch (IOException | ParseException e)
+    {
+      e.printStackTrace();
+    }
+
+  }
 }