3 import static org.testng.AssertJUnit.assertSame;
4 import static org.testng.AssertJUnit.assertEquals;
5 import org.testng.annotations.Test;
6 import org.testng.annotations.BeforeMethod;
7 import jalview.datamodel.Alignment;
8 import jalview.datamodel.AlignmentI;
9 import jalview.datamodel.PDBEntry;
10 import jalview.datamodel.PDBEntry.Type;
11 import jalview.datamodel.Sequence;
12 import jalview.datamodel.SequenceI;
14 public class AlignViewportTest
23 SequenceI seq1 = new Sequence("Seq1", "ABC");
24 SequenceI seq2 = new Sequence("Seq2", "ABC");
25 SequenceI seq3 = new Sequence("Seq3", "ABC");
26 SequenceI[] seqs = new SequenceI[]
28 al = new Alignment(seqs);
30 testee = new AlignViewport(al);
34 public void testCollateForPdb()
37 * Set up sequence pdb ids
39 PDBEntry pdb1 = new PDBEntry("1ABC", "A", Type.PDB, "1ABC.pdb");
40 PDBEntry pdb2 = new PDBEntry("2ABC", "A", Type.PDB, "2ABC.pdb");
41 PDBEntry pdb3 = new PDBEntry("3ABC", "A", Type.PDB, "3ABC.pdb");
44 * seq1 and seq3 refer to 1ABC, seq2 to 2ABC, none to 3ABC
46 al.getSequenceAt(0).getDatasetSequence()
48 new PDBEntry("1ABC", "B", Type.PDB, "1ABC.pdb"));
49 al.getSequenceAt(2).getDatasetSequence()
51 new PDBEntry("1ABC", "B", Type.PDB, "1ABC.pdb"));
52 al.getSequenceAt(1).getDatasetSequence()
54 new PDBEntry("2ABC", "C", Type.PDB, "2ABC.pdb"));
56 * Add a second chain PDB xref to Seq2 - should not result in a duplicate in
59 al.getSequenceAt(1).getDatasetSequence()
60 .addPDBId(new PDBEntry("2ABC", "D", Type.PDB, "2ABC.pdb"));
62 * Seq3 refers to 3abc - this does not match 3ABC (as the code stands)
64 al.getSequenceAt(2).getDatasetSequence()
65 .addPDBId(new PDBEntry("3abc", "D", Type.PDB, "3ABC.pdb"));
68 * run method under test
70 SequenceI[][] seqs = testee.collateForPDB(new PDBEntry[]
71 { pdb1, pdb2, pdb3 });
73 // seq1 and seq3 refer to PDBEntry[0]
74 assertEquals(2, seqs[0].length);
75 assertSame(al.getSequenceAt(0), seqs[0][0]);
76 assertSame(al.getSequenceAt(2), seqs[0][1]);
78 // seq2 refers to PDBEntry[1]
79 assertEquals(1, seqs[1].length);
80 assertSame(al.getSequenceAt(1), seqs[1][0]);
82 // no sequence refers to PDBEntry[2]
83 assertEquals(0, seqs[2].length);