import jalview.structure.StructureMapping;
import jalview.structure.StructureSelectionManager;
+import java.awt.Color;
import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
}
@Test(groups = { "Functional" })
- public void testGetColourBySequenceCommand_noFeatures()
- {
- SequenceI seq1 = new Sequence("seq1", "MHRSQTRALK");
- SequenceI seq2 = new Sequence("seq2", "MRLEITQSGD");
- AlignmentI al = new Alignment(new SequenceI[] { seq1, seq2 });
- AlignFrame af = new AlignFrame(al, 800, 500);
- SequenceRenderer sr = new SequenceRenderer(af.getViewport());
- SequenceI[][] seqs = new SequenceI[][] { { seq1 }, { seq2 } };
- String[] files = new String[] { "seq1.pdb", "seq2.pdb" };
- StructureSelectionManager ssm = new StructureSelectionManager();
-
- // need some mappings!
-
- String[] commands = new JmolCommands().colourBySequence(ssm, files,
- seqs, sr, af.alignPanel);
- assertEquals(commands.length, 0);
- }
-
- @Test(groups = { "Functional" })
public void testGetColourBySequenceCommands_hiddenColumns()
{
/*
}
@Test(groups = { "Functional" })
+ public void testColourBySequence()
+ {
+ Map<Object, AtomSpecModel> map = new LinkedHashMap<>();
+ JmolCommands.addAtomSpecRange(map, Color.blue, 1, 2, 5, "A");
+ JmolCommands.addAtomSpecRange(map, Color.blue, 1, 7, 7, "B");
+ JmolCommands.addAtomSpecRange(map, Color.blue, 1, 9, 23, "A");
+ JmolCommands.addAtomSpecRange(map, Color.blue, 2, 1, 1, "A");
+ JmolCommands.addAtomSpecRange(map, Color.blue, 2, 4, 7, "B");
+ JmolCommands.addAtomSpecRange(map, Color.yellow, 2, 8, 8, "A");
+ JmolCommands.addAtomSpecRange(map, Color.yellow, 2, 3, 5, "A");
+ JmolCommands.addAtomSpecRange(map, Color.red, 1, 3, 5, "A");
+ JmolCommands.addAtomSpecRange(map, Color.red, 1, 6, 9, "A");
+
+ // Colours should appear in the Jmol command in the order in which
+ // they were added; within colour, by model, by chain, ranges in start order
+ String[] commands = new JmolCommands().colourBySequence(map);
+ assertEquals(commands.length, 1);
+ String expected = "select 2-5:A/1.1|9-23:A/1.1|7:B/1.1|1:A/2.1|4-7:B/2.1;color[0,0,255]; "
+ + "select 3-5:A/2.1|8:A/2.1;color[255,255,0]; "
+ + "select 3-9:A/1.1;color[255,0,0]";
+ assertEquals(commands[0], expected);
+ }
+
+ @Test(groups = { "Functional" })
public void testSuperposeStructures()
{
StructureCommandsI testee = new JmolCommands();
toAlignSpec, refSpec, toAlignSpec, refSpec);
assertEquals(command, expected);
}
+
+ @Test(groups = "Functional")
+ public void testGetModelStartNo()
+ {
+ StructureCommandsI testee = new JmolCommands();
+ assertEquals(testee.getModelStartNo(), 1);
+ }
}