JAL-1673 additional test (and trim of PDB resnum value)
[jalview.git] / test / jalview / io / AnnotatedPDBFileInputTest.java
index 7bef5db..29d5549 100644 (file)
@@ -7,8 +7,12 @@ import static org.junit.Assert.assertTrue;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
+import jalview.gui.Desktop;
+import jalview.structure.StructureMapping;
+import jalview.structure.StructureSelectionManager;
 
 import java.io.File;
 import java.util.Vector;
@@ -23,7 +27,7 @@ public class AnnotatedPDBFileInputTest
 
   AlignmentI al;
 
-  String pdbStr = "examples/2GIS.pdb";
+  String pdbStr = "examples/1gaq.txt";
 
   String pdbId;
 
@@ -73,6 +77,48 @@ public class AnnotatedPDBFileInputTest
     }
   }
 
+  /**
+   * Check sequence features have been added
+   */
+  @Test
+  public void checkPDBSequenceFeatures()
+  {
+    StructureSelectionManager ssm = StructureSelectionManager
+            .getStructureSelectionManager(Desktop.instance);
+    StructureMapping[] mappings = ssm.getMapping("1gaq");
+    // suspect we really want to make assertions on sequence features
+    // in these mappings' sequencess
+    /*
+     * 1GAQ/A
+     */
+    SequenceFeature[] sf = al.getSequenceAt(0).getSequenceFeatures();
+    assertEquals(296, sf.length);
+    assertEquals("RESNUM", sf[0].getType());
+    assertEquals("GLU:19 1gaqA", sf[0].getDescription());
+    assertEquals("RESNUM", sf[295].getType());
+    assertEquals("TYR:314 1gaqA", sf[295].getDescription());
+
+    /*
+     * 1GAQ/B
+     */
+    sf = al.getSequenceAt(1).getSequenceFeatures();
+    assertEquals(98, sf.length);
+    assertEquals("RESNUM", sf[0].getType());
+    assertEquals("ALA:1 1gaqB", sf[0].getDescription());
+    assertEquals("RESNUM", sf[97].getType());
+    assertEquals("ALA:98 1gaqB", sf[97].getDescription());
+
+    /*
+     * 1GAQ/C
+     */
+    sf = al.getSequenceAt(2).getSequenceFeatures();
+    assertEquals(296, sf.length);
+    assertEquals("RESNUM", sf[0].getType());
+    assertEquals("GLU:19 1gaqC", sf[0].getDescription());
+    assertEquals("RESNUM", sf[295].getType());
+    assertEquals("TYR:314 1gaqC", sf[295].getDescription());
+  }
+
   @Test
   public void checkAnnotationWiring()
   {
@@ -126,7 +172,7 @@ public class AnnotatedPDBFileInputTest
   public void testJalviewProjectRelocationAnnotation() throws Exception
   {
 
-    String inFile = "examples/2GIS.pdb";
+    String inFile = "examples/1gaq.txt";
     String tfile = File.createTempFile("JalviewTest", ".jvp")
             .getAbsolutePath();
     AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(