Merge commit 'alpha/update_2_12_for_2_11_2_series_merge^2' into HEAD
[jalview.git] / test / jalview / structures / models / AAStructureBindingModelTest.java
index 16452a5..26a67bc 100644 (file)
@@ -52,6 +52,7 @@ import jalview.gui.JvOptionPane;
 import jalview.gui.StructureViewer.ViewerType;
 import jalview.io.DataSourceType;
 import jalview.io.FileFormats;
+import jalview.io.FileLoader;
 import jalview.schemes.JalviewColourScheme;
 import jalview.structure.AtomSpec;
 import jalview.structure.AtomSpecModel;
@@ -137,7 +138,7 @@ public class AAStructureBindingModelTest
     PDBEntry importedPDB = new PDBEntry("3A6S", "", Type.PDB,
             "Paste");
     AAStructureBindingModel binder = new AAStructureBindingModel(
-            new StructureSelectionManager(), new PDBEntry[]
+            StructureSelectionManager.getStructureSelectionManager(null), new PDBEntry[]
             { importedPDB },
             new SequenceI[][]
             { importedAl.getSequencesArray() }, null)
@@ -224,7 +225,7 @@ public class AAStructureBindingModelTest
     seqs[0] = new SequenceI[] { seq1a, seq1b };
     seqs[1] = new SequenceI[] { seq2 };
     seqs[2] = new SequenceI[] { seq3 };
-    StructureSelectionManager ssm = new StructureSelectionManager();
+    StructureSelectionManager ssm = StructureSelectionManager.getStructureSelectionManager(null);
 
     ssm.setMapping(new SequenceI[] { seq1a, seq1b }, null, PDB_1,
             DataSourceType.PASTE, null);
@@ -233,7 +234,7 @@ public class AAStructureBindingModelTest
     ssm.setMapping(new SequenceI[] { seq3 }, null, PDB_3,
             DataSourceType.PASTE, null);
 
-    testee = newBindingModel(pdbFiles, seqs, ssm);
+    testee = newBindingModel(pdbFiles, seqs, ssm, null);
   }
 
   /**
@@ -242,10 +243,11 @@ public class AAStructureBindingModelTest
    * @param pdbFiles
    * @param seqs
    * @param ssm
+   * @param alignPanel 
    */
   protected AAStructureBindingModel newBindingModel(PDBEntry[] pdbFiles,
           SequenceI[][] seqs,
-          StructureSelectionManager ssm)
+          StructureSelectionManager ssm, AlignmentViewPanel avp)
   {
     AAStructureBindingModel model = new AAStructureBindingModel(ssm,
             pdbFiles, seqs, null)
@@ -253,7 +255,12 @@ public class AAStructureBindingModelTest
       @Override
       public String[] getStructureFiles()
       {
-        return new String[] { "INLINE1YCS", "INLINE3A6S", "INLINE1OOT" };
+        String[] files = new String[getPdbCount()];
+        for (int i = 0; i < this.getPdbCount(); i++)
+        {
+          files[i] = getPdbEntry(i).getFile();
+        }
+        return files;
       }
 
       @Override
@@ -273,9 +280,11 @@ public class AAStructureBindingModelTest
 
       @Override
       public SequenceRenderer getSequenceRenderer(
-              AlignmentViewPanel alignment)
+              AlignmentViewPanel avp)
       {
-        return null;
+        return avp == null ? null
+                : new jalview.gui.SequenceRenderer(
+                        avp.getAlignViewport());
       }
 
       @Override
@@ -409,10 +418,10 @@ public class AAStructureBindingModelTest
      * load these sequences, coloured by Strand propensity,
      * with columns 2-4 hidden
      */
-    SequenceI seq1 = new Sequence("seq1", "MHRSQSSSGG");
-    SequenceI seq2 = new Sequence("seq2", "MVRSNGGSSS");
-    AlignmentI al = new Alignment(new SequenceI[] { seq1, seq2 });
-    AlignFrame af = new AlignFrame(al, 800, 500);
+    String fasta = ">seq1\nMHRSQSSSGG\n>seq2\nMVRSNGGSSS";
+    AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(fasta,
+            DataSourceType.PASTE);
+    AlignmentI al = af.getViewport().getAlignment();
     af.changeColour_actionPerformed(JalviewColourScheme.Strand.toString());
     ColumnSelection cs = new ColumnSelection();
     cs.addElement(2);
@@ -420,10 +429,9 @@ public class AAStructureBindingModelTest
     cs.addElement(4);
     af.getViewport().setColumnSelection(cs);
     af.hideSelColumns_actionPerformed(null);
-    SequenceRenderer sr = new jalview.gui.SequenceRenderer(
-            af.getViewport());
+    SequenceI seq1 = al.getSequenceAt(0);
+    SequenceI seq2 = al.getSequenceAt(1);
     SequenceI[][] seqs = new SequenceI[][] { { seq1 }, { seq2 } };
-    String[] files = new String[] { "seq1.pdb", "seq2.pdb" };
     PDBEntry[] pdbFiles = new PDBEntry[2];
     pdbFiles[0] = new PDBEntry("PDB1", "A", Type.PDB, "seq1.pdb");
     pdbFiles[1] = new PDBEntry("PDB2", "B", Type.PDB, "seq2.pdb");
@@ -444,14 +452,15 @@ public class AAStructureBindingModelTest
             "B", map, null);
     ssm.addStructureMapping(sm2);
 
-    AAStructureBindingModel binding = newBindingModel(pdbFiles, seqs, ssm);
+    AAStructureBindingModel binding = newBindingModel(pdbFiles, seqs, ssm,
+            af.alignPanel);
 
     /*
      * method under test builds a map of structures residues by colour
      * verify the map holds what it should
      */
-    Map<Object, AtomSpecModel> colours = binding.buildColoursMap(ssm, files,
-            seqs, sr, af.alignPanel);
+    Map<Object, AtomSpecModel> colours = binding.buildColoursMap(ssm, seqs,
+            af.alignPanel);
     ChimeraCommands helper = new ChimeraCommands();
     
     /*