JAL-2446 merged to spike branch
[jalview.git] / test / jalview / structures / models / AAStructureBindingModelTest.java
index b74a089..c125ef6 100644 (file)
@@ -24,19 +24,27 @@ import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertFalse;
 import static org.testng.AssertJUnit.assertTrue;
 
+import jalview.api.AlignmentViewPanel;
+import jalview.api.FeatureRenderer;
+import jalview.api.SequenceRenderer;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.HiddenColumns;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.PDBEntry.Type;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceI;
 import jalview.gui.JvOptionPane;
 import jalview.io.DataSourceType;
+import jalview.schemes.ColourSchemeI;
 import jalview.structure.AtomSpec;
+import jalview.structure.StructureMappingcommandSet;
 import jalview.structure.StructureSelectionManager;
 import jalview.structures.models.AAStructureBindingModel.SuperposeData;
 
+import java.awt.Color;
 import java.util.Arrays;
+import java.util.BitSet;
 import java.util.List;
 
 import org.testng.annotations.BeforeClass;
@@ -130,7 +138,7 @@ public class AAStructureBindingModelTest
     testee = new AAStructureBindingModel(ssm, pdbFiles, seqs, null)
     {
       @Override
-      public String[] getPdbFile()
+      public String[] getStructureFiles()
       {
         return new String[] { "INLINE1YCS", "INLINE3A6S", "INLINE1OOT" };
       }
@@ -155,6 +163,60 @@ public class AAStructureBindingModelTest
       {
         return null;
       }
+
+      @Override
+      public void setJalviewColourScheme(ColourSchemeI cs)
+      {
+      }
+
+      @Override
+      public String superposeStructures(AlignmentI[] als, int[] alm,
+              HiddenColumns[] alc)
+      {
+        return null;
+      }
+
+      @Override
+      public void setBackgroundColour(Color col)
+      {
+      }
+
+      @Override
+      protected StructureMappingcommandSet[] getColourBySequenceCommands(
+              String[] files, SequenceRenderer sr, AlignmentViewPanel avp)
+      {
+        return null;
+      }
+
+      @Override
+      public SequenceRenderer getSequenceRenderer(
+              AlignmentViewPanel alignment)
+      {
+        return null;
+      }
+
+      @Override
+      protected void colourBySequence(
+              StructureMappingcommandSet[] colourBySequenceCommands)
+      {
+      }
+
+      @Override
+      public void colourByChain()
+      {
+      }
+
+      @Override
+      public void colourByCharge()
+      {
+      }
+
+      @Override
+      public FeatureRenderer getFeatureRenderer(
+              AlignmentViewPanel alignment)
+      {
+        return null;
+      }
     };
   }
 
@@ -168,17 +230,20 @@ public class AAStructureBindingModelTest
     /*
      * create a data bean to hold data per structure file
      */
-    SuperposeData[] structs = new SuperposeData[testee.getPdbFile().length];
+    SuperposeData[] structs = new SuperposeData[testee.getStructureFiles().length];
     for (int i = 0; i < structs.length; i++)
     {
       structs[i] = testee.new SuperposeData(al.getWidth());
     }
     /*
-     * initialise array of 'superposable columns' to true (would be false for
+     * initialise BitSet of 'superposable columns' to true (would be false for
      * hidden columns)
      */
-    boolean[] matched = new boolean[al.getWidth()];
-    Arrays.fill(matched, true);
+    BitSet matched = new BitSet();
+    for (int i = 0; i < al.getWidth(); i++)
+    {
+      matched.set(i);
+    }
 
     int refStructure = testee
             .findSuperposableResidues(al, matched, structs);
@@ -188,12 +253,12 @@ public class AAStructureBindingModelTest
     /*
      * only ungapped, structure-mapped columns are superposable
      */
-    assertFalse(matched[0]); // gap in first sequence
-    assertTrue(matched[1]);
-    assertFalse(matched[2]); // gap in third sequence
-    assertFalse(matched[3]); // gap in fourth sequence
-    assertTrue(matched[4]);
-    assertTrue(matched[5]); // gap in second sequence
+    assertFalse(matched.get(0)); // gap in first sequence
+    assertTrue(matched.get(1));
+    assertFalse(matched.get(2)); // gap in third sequence
+    assertFalse(matched.get(3)); // gap in fourth sequence
+    assertTrue(matched.get(4));
+    assertTrue(matched.get(5)); // gap in second sequence
 
     assertEquals("1YCS", structs[0].pdbId);
     assertEquals("3A6S", structs[1].pdbId);
@@ -218,13 +283,17 @@ public class AAStructureBindingModelTest
       structs[i] = testee.new SuperposeData(al.getWidth());
     }
     /*
-     * initialise array of 'superposable columns' to true (would be false for
+     * initialise BitSet of 'superposable columns' to true (would be false for
      * hidden columns)
      */
-    boolean[] matched = new boolean[al.getWidth()];
-    Arrays.fill(matched, true);
+    BitSet matched = new BitSet();
+    for (int i = 0; i < al.getWidth(); i++)
+    {
+      matched.set(i);
+    }
+
     // treat column 5 of the alignment as hidden
-    matched[4] = false;
+    matched.clear(4);
 
     int refStructure = testee
             .findSuperposableResidues(al, matched, structs);
@@ -232,11 +301,11 @@ public class AAStructureBindingModelTest
     assertEquals(0, refStructure);
 
     // only ungapped, structure-mapped columns are not superposable
-    assertFalse(matched[0]);
-    assertTrue(matched[1]);
-    assertFalse(matched[2]);
-    assertFalse(matched[3]);
-    assertFalse(matched[4]); // superposable, but hidden, column
-    assertTrue(matched[5]);
+    assertFalse(matched.get(0));
+    assertTrue(matched.get(1));
+    assertFalse(matched.get(2));
+    assertFalse(matched.get(3));
+    assertFalse(matched.get(4)); // superposable, but hidden, column
+    assertTrue(matched.get(5));
   }
 }