JAL-2319 corrected reporting of SIFTS mapping
[jalview.git] / test / jalview / ws / sifts / SiftsClientTest.java
index d3b485e..3f67c4c 100644 (file)
@@ -68,7 +68,7 @@ public class SiftsClientTest
 
   @BeforeTest(alwaysRun = true)
   public void populateExpectedMapping() throws SiftsException
-   {
+  {
     expectedMapping.put(51, new int[] { 1, 2 });
     expectedMapping.put(52, new int[] { 2, 7 });
     expectedMapping.put(53, new int[] { 3, 12 });
@@ -166,8 +166,8 @@ public class SiftsClientTest
     expectedMapping.put(145, new int[] { 95, 714 });
     expectedMapping.put(146, new int[] { 96, 722 });
     expectedMapping.put(147, new int[] { 97, 729 });
-   }
-   
+  }
+
   @BeforeTest(alwaysRun = true)
   public void setUpSiftsClient() throws SiftsException
   {
@@ -236,7 +236,6 @@ public class SiftsClientTest
     }
   }
 
-
   @Test(groups = { "Functional" })
   public void getAllMappingAccessionTest()
   {
@@ -260,8 +259,7 @@ public class SiftsClientTest
     try
     {
       HashMap<Integer, int[]> actualMapping = siftsClient.getGreedyMapping(
-              "A", testSeq,
-              null);
+              "A", testSeq, null);
       Assert.assertEquals(testSeq.getStart(), 1);
       Assert.assertEquals(testSeq.getEnd(), 147);
       Assert.assertEquals(actualMapping, expectedMapping);
@@ -306,7 +304,7 @@ public class SiftsClientTest
   private void populateAtomPositionsNullTest1()
           throws IllegalArgumentException, SiftsException
   {
-      siftsClient.populateAtomPositions(null, null);
+    siftsClient.populateAtomPositions(null, null);
   }
 
   @Test(
@@ -340,7 +338,7 @@ public class SiftsClientTest
     expectedExceptions = SiftsException.class)
   public void getValidSourceDBRefExceptionTest() throws SiftsException
   {
-      SequenceI invalidTestSeq = new Sequence("testSeq", "ABCDEFGH");
+    SequenceI invalidTestSeq = new Sequence("testSeq", "ABCDEFGH");
     try
     {
       siftsClient.getValidSourceDBRef(invalidTestSeq);
@@ -389,8 +387,8 @@ public class SiftsClientTest
               testSeq, testPDBId, "A");
       String expectedMappingOutput = "\nSequence ⟷ Structure mapping details\n"
               + "Method: SIFTS\n\n"
-              + "P00221 :  1 - 97 Maps to \n"
-              + "1A70|A :  51 - 147\n\n"
+              + "P00221 :  51 - 147 Maps to \n"
+              + "1A70|A :  1 - 97\n\n"
               + "P00221 AAYKVTLVTPTGNVEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLD\n"
               + "       |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\n"
               + "1A70|A AAYKVTLVTPTGNVEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLD\n\n"
@@ -451,7 +449,7 @@ public class SiftsClientTest
   }
 
   @Test(groups = { "Functional" })
-  public void getEntityByMostOptimalMatchedIdTest()
+  public void getEntityByMostOptimalMatchedIdTest1()
   {
     SiftsClient siftsClientX = null;
     PDBfile pdbFile;
@@ -474,4 +472,34 @@ public class SiftsClientTest
     Assert.assertEquals(entityD.getEntityId(), "D");
 
   }
+
+  @Test(groups = { "Functional" })
+  public void getEntityByMostOptimalMatchedIdTest2()
+  {
+    // This test is for a SIFTS file in which entity A should map to chain P for
+    // the given PDB Id. All the other chains shouldn't be mapped as there are
+    // no SIFTS entity records for them.
+    SiftsClient siftsClientX = null;
+    PDBfile pdbFile;
+    try
+    {
+      pdbFile = new PDBfile(false, false, false,
+              "test/jalview/io/3ucu.cif", AppletFormatAdapter.FILE);
+      siftsClientX = new SiftsClient(pdbFile);
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+    Entity entityA = siftsClientX.getEntityByMostOptimalMatchedId("P");
+    Entity entityP = siftsClientX.getEntityByMostOptimalMatchedId("A");
+    Entity entityR = siftsClientX.getEntityByMostOptimalMatchedId("R");
+    Assert.assertEquals(entityA.getEntityId(), "A");
+    Assert.assertNotEquals(entityR, "A");
+    Assert.assertNotEquals(entityP, "A");
+    Assert.assertNotEquals(entityR, "R");
+    Assert.assertNotEquals(entityP, "P");
+    Assert.assertNull(entityR);
+    Assert.assertNull(entityP);
+
+  }
 }