3 import static org.testng.AssertJUnit.assertEquals;
4 import static org.testng.AssertJUnit.assertSame;
6 import jalview.datamodel.Alignment;
7 import jalview.datamodel.AlignmentI;
8 import jalview.datamodel.PDBEntry;
9 import jalview.datamodel.PDBEntry.Type;
10 import jalview.datamodel.Sequence;
11 import jalview.datamodel.SequenceI;
13 import org.testng.annotations.BeforeMethod;
14 import org.testng.annotations.Test;
16 public class AlignViewportTest
25 SequenceI seq1 = new Sequence("Seq1", "ABC");
26 SequenceI seq2 = new Sequence("Seq2", "ABC");
27 SequenceI seq3 = new Sequence("Seq3", "ABC");
28 SequenceI[] seqs = new SequenceI[]
30 al = new Alignment(seqs);
32 testee = new AlignViewport(al);
36 public void testCollateForPdb()
39 * Set up sequence pdb ids
41 PDBEntry pdb1 = new PDBEntry("1ABC", "A", Type.PDB, "1ABC.pdb");
42 PDBEntry pdb2 = new PDBEntry("2ABC", "A", Type.PDB, "2ABC.pdb");
43 PDBEntry pdb3 = new PDBEntry("3ABC", "A", Type.PDB, "3ABC.pdb");
46 * seq1 and seq3 refer to 1ABC, seq2 to 2ABC, none to 3ABC
48 al.getSequenceAt(0).getDatasetSequence()
50 new PDBEntry("1ABC", "B", Type.PDB, "1ABC.pdb"));
51 al.getSequenceAt(2).getDatasetSequence()
53 new PDBEntry("1ABC", "B", Type.PDB, "1ABC.pdb"));
54 al.getSequenceAt(1).getDatasetSequence()
56 new PDBEntry("2ABC", "C", Type.PDB, "2ABC.pdb"));
58 * Add a second chain PDB xref to Seq2 - should not result in a duplicate in
61 al.getSequenceAt(1).getDatasetSequence()
62 .addPDBId(new PDBEntry("2ABC", "D", Type.PDB, "2ABC.pdb"));
64 * Seq3 refers to 3abc - this does not match 3ABC (as the code stands)
66 al.getSequenceAt(2).getDatasetSequence()
67 .addPDBId(new PDBEntry("3abc", "D", Type.PDB, "3ABC.pdb"));
70 * run method under test
72 SequenceI[][] seqs = testee.collateForPDB(new PDBEntry[]
73 { pdb1, pdb2, pdb3 });
75 // seq1 and seq3 refer to PDBEntry[0]
76 assertEquals(2, seqs[0].length);
77 assertSame(al.getSequenceAt(0), seqs[0][0]);
78 assertSame(al.getSequenceAt(2), seqs[0][1]);
80 // seq2 refers to PDBEntry[1]
81 assertEquals(1, seqs[1].length);
82 assertSame(al.getSequenceAt(1), seqs[1][0]);
84 // no sequence refers to PDBEntry[2]
85 assertEquals(0, seqs[2].length);