Clover icon

jalviewX

  1. Project Clover database Wed Oct 31 2018 15:13:58 GMT
  2. Package jalview.gui

File StructureViewerTest.java

 

Code metrics

2
38
2
1
91
65
3
0.08
19
2
1.5

Classes

Class Line # Actions
StructureViewerTest 19 38 3 0
1.0100%
 

Contributing tests

This file is covered by 1 test. .

Source view

1    package jalview.gui;
2   
3    import static org.testng.Assert.assertEquals;
4    import static org.testng.Assert.assertFalse;
5    import static org.testng.Assert.assertNull;
6    import static org.testng.Assert.assertSame;
7    import static org.testng.Assert.assertTrue;
8   
9    import jalview.datamodel.PDBEntry;
10    import jalview.datamodel.PDBEntry.Type;
11    import jalview.datamodel.Sequence;
12    import jalview.datamodel.SequenceI;
13   
14    import java.util.Map;
15   
16    import org.testng.annotations.BeforeClass;
17    import org.testng.annotations.Test;
18   
 
19    public class StructureViewerTest
20    {
21   
 
22  1 toggle @BeforeClass(alwaysRun = true)
23    public void setUpJvOptionPane()
24    {
25  1 JvOptionPane.setInteractiveMode(false);
26  1 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
27    }
28   
 
29  1 toggle @Test(groups = "Functional")
30    public void testGetSequencesForPdbs()
31    {
32  1 StructureViewer sv = new StructureViewer(null);
33   
34  1 assertNull(sv.getSequencesForPdbs(null, null));
35   
36  1 PDBEntry pdbe1 = new PDBEntry("1A70", "A", Type.PDB, "path1");
37  1 PDBEntry pdbe2 = new PDBEntry("3A6S", "A", Type.PDB, "path2");
38  1 PDBEntry pdbe3 = new PDBEntry("1A70", "B", Type.PDB, "path1");
39  1 PDBEntry pdbe4 = new PDBEntry("1GAQ", "A", Type.PDB, null);
40  1 PDBEntry pdbe5 = new PDBEntry("3A6S", "B", Type.PDB, "path2");
41  1 PDBEntry pdbe6 = new PDBEntry("1GAQ", "B", Type.PDB, null);
42  1 PDBEntry pdbe7 = new PDBEntry("1FOO", "Q", Type.PDB, null);
43   
44  1 PDBEntry[] pdbs = new PDBEntry[] { pdbe1, pdbe2, pdbe3, pdbe4, pdbe5,
45    pdbe6, pdbe7 };
46   
47    /*
48    * seq1 ... seq6 associated with pdbe1 ... pdbe6
49    */
50  1 SequenceI[] seqs = new SequenceI[pdbs.length];
51  8 for (int i = 0; i < seqs.length; i++)
52    {
53  7 seqs[i] = new Sequence("Seq" + i, "abc");
54    }
55   
56    /*
57    * pdbe3/5/6 should get removed as having a duplicate file path
58    */
59  1 Map<PDBEntry, SequenceI[]> uniques = sv.getSequencesForPdbs(pdbs, seqs);
60  1 assertTrue(uniques.containsKey(pdbe1));
61  1 assertTrue(uniques.containsKey(pdbe2));
62  1 assertFalse(uniques.containsKey(pdbe3));
63  1 assertTrue(uniques.containsKey(pdbe4));
64  1 assertFalse(uniques.containsKey(pdbe5));
65  1 assertFalse(uniques.containsKey(pdbe6));
66  1 assertTrue(uniques.containsKey(pdbe7));
67   
68    // 1A70 associates with seq1 and seq3
69  1 SequenceI[] ss = uniques.get(pdbe1);
70  1 assertEquals(ss.length, 2);
71  1 assertSame(seqs[0], ss[0]);
72  1 assertSame(seqs[2], ss[1]);
73   
74    // 3A6S has seq2 and seq5
75  1 ss = uniques.get(pdbe2);
76  1 assertEquals(ss.length, 2);
77  1 assertSame(seqs[1], ss[0]);
78  1 assertSame(seqs[4], ss[1]);
79   
80    // 1GAQ has seq4 and seq6
81  1 ss = uniques.get(pdbe4);
82  1 assertEquals(ss.length, 2);
83  1 assertSame(seqs[3], ss[0]);
84  1 assertSame(seqs[5], ss[1]);
85   
86    // 1FOO has seq7
87  1 ss = uniques.get(pdbe7);
88  1 assertEquals(ss.length, 1);
89  1 assertSame(seqs[6], ss[0]);
90    }
91    }