Merge branch 'develop' into feature/JAL-3390hideUnmappedStructure
[jalview.git] / test / jalview / ext / rbvi / chimera / ChimeraCommandsTest.java
index 6dd5cc7..1d620c4 100644 (file)
@@ -54,8 +54,9 @@ import junit.extensions.PA;
 
 public class ChimeraCommandsTest
 {
-
   private SequenceRenderer sr;
+
+  private String[] files;
   
   private AAStructureBindingModel mockBinding = new AAStructureBindingModel(
           null, null)
@@ -131,7 +132,7 @@ public class ChimeraCommandsTest
     @Override
     public String[] getStructureFiles()
     {
-      return null;
+      return files;
     }
 
     @Override
@@ -151,17 +152,16 @@ public class ChimeraCommandsTest
   @Test(groups = { "Functional" })
   public void testBuildColourCommands()
   {
-
     Map<Object, AtomSpecModel> map = new LinkedHashMap<>();
-    ChimeraCommands.addMapRange(map, Color.blue, 0, 2, 5, "A");
-    ChimeraCommands.addMapRange(map, Color.blue, 0, 7, 7, "B");
-    ChimeraCommands.addMapRange(map, Color.blue, 0, 9, 23, "A");
-    ChimeraCommands.addMapRange(map, Color.blue, 1, 1, 1, "A");
-    ChimeraCommands.addMapRange(map, Color.blue, 1, 4, 7, "B");
-    ChimeraCommands.addMapRange(map, Color.yellow, 1, 8, 8, "A");
-    ChimeraCommands.addMapRange(map, Color.yellow, 1, 3, 5, "A");
-    ChimeraCommands.addMapRange(map, Color.red, 0, 3, 5, "A");
-    ChimeraCommands.addMapRange(map, Color.red, 0, 6, 9, "A");
+    ChimeraCommands.addAtomSpecRange(map, Color.blue, 0, 2, 5, "A");
+    ChimeraCommands.addAtomSpecRange(map, Color.blue, 0, 7, 7, "B");
+    ChimeraCommands.addAtomSpecRange(map, Color.blue, 0, 9, 23, "A");
+    ChimeraCommands.addAtomSpecRange(map, Color.blue, 1, 1, 1, "A");
+    ChimeraCommands.addAtomSpecRange(map, Color.blue, 1, 4, 7, "B");
+    ChimeraCommands.addAtomSpecRange(map, Color.yellow, 1, 8, 8, "A");
+    ChimeraCommands.addAtomSpecRange(map, Color.yellow, 1, 3, 5, "A");
+    ChimeraCommands.addAtomSpecRange(map, Color.red, 0, 3, 5, "A");
+    ChimeraCommands.addAtomSpecRange(map, Color.red, 0, 6, 9, "A");
 
     // Colours should appear in the Chimera command in the order in which
     // they were added; within colour, by model, by chain, ranges in start order
@@ -186,7 +186,7 @@ public class ChimeraCommandsTest
      * start with just one feature/value...
      */
     featuresMap.put("chain", featureValues);
-    ChimeraCommands.addMapRange(featureValues, "X", 0, 8, 20, "A");
+    ChimeraCommands.addAtomSpecRange(featureValues, "X", 0, 8, 20, "A");
   
     List<String> commands = ChimeraCommands
             .buildSetAttributeCommands(featuresMap, mockBinding);
@@ -199,18 +199,18 @@ public class ChimeraCommandsTest
     assertEquals(commands.get(0), "setattr r jv_chain 'X' #0:8-20.A");
 
     // add same feature value, overlapping range
-    ChimeraCommands.addMapRange(featureValues, "X", 0, 3, 9, "A");
+    ChimeraCommands.addAtomSpecRange(featureValues, "X", 0, 3, 9, "A");
     // same feature value, contiguous range
-    ChimeraCommands.addMapRange(featureValues, "X", 0, 21, 25, "A");
+    ChimeraCommands.addAtomSpecRange(featureValues, "X", 0, 21, 25, "A");
     commands = ChimeraCommands.buildSetAttributeCommands(featuresMap,
             mockBinding);
     assertEquals(1, commands.size());
     assertEquals(commands.get(0), "setattr r jv_chain 'X' #0:3-25.A");
 
     // same feature value and model, different chain
-    ChimeraCommands.addMapRange(featureValues, "X", 0, 21, 25, "B");
+    ChimeraCommands.addAtomSpecRange(featureValues, "X", 0, 21, 25, "B");
     // same feature value and chain, different model
-    ChimeraCommands.addMapRange(featureValues, "X", 1, 26, 30, "A");
+    ChimeraCommands.addAtomSpecRange(featureValues, "X", 1, 26, 30, "A");
     commands = ChimeraCommands.buildSetAttributeCommands(featuresMap,
             mockBinding);
     assertEquals(1, commands.size());
@@ -218,7 +218,7 @@ public class ChimeraCommandsTest
             "setattr r jv_chain 'X' #0:3-25.A,21-25.B|#1:26-30.A");
 
     // same feature, different value
-    ChimeraCommands.addMapRange(featureValues, "Y", 0, 40, 50, "A");
+    ChimeraCommands.addAtomSpecRange(featureValues, "Y", 0, 40, 50, "A");
     commands = ChimeraCommands.buildSetAttributeCommands(featuresMap,
             mockBinding);
     assertEquals(2, commands.size());
@@ -231,7 +231,7 @@ public class ChimeraCommandsTest
     featuresMap.clear();
     featureValues.clear();
     featuresMap.put("side-chain binding!", featureValues);
-    ChimeraCommands.addMapRange(featureValues,
+    ChimeraCommands.addAtomSpecRange(featureValues,
             "<html>metal <a href=\"http:a.b.c/x\"> 'ion!", 0, 7, 15,
             "A");
     // feature names are sanitised to change non-alphanumeric to underscore
@@ -282,7 +282,7 @@ public class ChimeraCommandsTest
     af.hideSelColumns_actionPerformed(null);
     sr = new SequenceRenderer(af.getViewport());
     SequenceI[][] seqs = new SequenceI[][] { { seq1 }, { seq2 } };
-    String[] files = new String[] { "seq1.pdb", "seq2.pdb" };
+    files = new String[] { "seq1.pdb", "seq2.pdb" };
     StructureSelectionManager ssm = new StructureSelectionManager();
 
     /*
@@ -306,8 +306,10 @@ public class ChimeraCommandsTest
     PA.setValue(mockBinding, "ssm", ssm);
     PA.setValue(mockBinding, "sequence", seqs);
 
+    Map<Object, AtomSpecModel> colourMap = mockBinding
+            .buildColoursMap(af.alignPanel);
     String[] commands = ChimeraCommands
-            .getColourBySequenceCommand(files, af.alignPanel, mockBinding);
+            .getColourBySequenceCommand(colourMap, mockBinding);
     assertEquals(1, commands.length);
     String theCommand = commands[0];
     // M colour is #82827d (see strand.html help page)