JAL-1707 bug fix - also search using sequence name
[jalview.git] / test / jalview / gui / StructureChooserTest.java
1 package jalview.gui;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
5 import jalview.datamodel.DBRefEntry;
6 import jalview.datamodel.PDBEntry;
7 import jalview.datamodel.Sequence;
8 import jalview.datamodel.SequenceI;
9
10 import java.util.Vector;
11
12 import org.junit.After;
13 import org.junit.Before;
14 import org.junit.Test;
15
16 public class StructureChooserTest
17 {
18   Sequence seq;
19
20   @Before
21   public void setUp() throws Exception
22   {
23     seq = new Sequence("PDB|4kqy|4KQY|A", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1,
24             26);
25     seq.setDatasetSequence(seq);
26     for (int x = 1; x < 5; x++)
27     {
28       DBRefEntry dbRef = new DBRefEntry();
29       dbRef.setAccessionId("XYZ_" + x);
30       seq.addDBRef(dbRef);
31     }
32
33     PDBEntry dbRef = new PDBEntry();
34     dbRef.setId("1tim");
35
36     Vector<PDBEntry> pdbIds = new Vector<PDBEntry>();
37     pdbIds.add(dbRef);
38
39     seq.setPDBId(pdbIds);
40   }
41
42   @After
43   public void tearDown() throws Exception
44   {
45     seq = null;
46   }
47
48
49
50   @Test
51   public void buildQueryTest()
52   {
53     String query = StructureChooser.buildQuery(seq);
54     System.out.println(">>>>>>>>>> query : " + query);
55     assertEquals(
56             "4kqy OR text:1tim OR text:XYZ_1 OR text:XYZ_2 OR text:XYZ_3 OR text:XYZ_4",
57             query);
58   }
59
60   @Test
61   public void populateFilterComboBoxTest()
62   {
63     SequenceI[] selectedSeqs = new SequenceI[]
64     { seq };
65     StructureChooser sc = new StructureChooser(selectedSeqs, seq,
66             null);
67     sc.populateFilterComboBox();
68     int optionsSize = sc.getCmbFilterOption().getItemCount();
69     assertEquals(3, optionsSize); // if structures are not discovered then don't
70                                   // populate filter options
71
72     sc.setStructuresDiscovered(true);
73     sc.populateFilterComboBox();
74     optionsSize = sc.getCmbFilterOption().getItemCount();
75     assertTrue(optionsSize > 3); // if structures are found, filter options
76                                  // should be populated
77   }
78
79   @Test
80   public void fetchStructuresInfoTest()
81   {
82     SequenceI[] selectedSeqs = new SequenceI[]
83     { seq };
84     StructureChooser sc = new StructureChooser(selectedSeqs, seq, null);
85     sc.fetchStructuresMetaData();
86     assertTrue(sc.getDiscoveredStructuresSet() != null);
87     assertTrue(sc.getDiscoveredStructuresSet().size() > 0);
88
89   }
90 }