JAL-1667 updated test and internationalization messages
[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 import jalview.ws.dbsources.PDBRestClient.PDBDocField;
10
11 import java.util.ArrayList;
12 import java.util.List;
13 import java.util.Vector;
14
15 import org.junit.After;
16 import org.junit.Before;
17 import org.junit.Test;
18
19 public class StructureChooserTest
20 {
21   Sequence seq;
22
23   @Before
24   public void setUp() throws Exception
25   {
26     seq = new Sequence("Test_Seq", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1, 26);
27     seq.setDatasetSequence(seq);
28     for (int x = 1; x < 5; x++)
29     {
30       DBRefEntry dbRef = new DBRefEntry();
31       dbRef.setAccessionId("XYZ_" + x);
32       seq.addDBRef(dbRef);
33     }
34
35     PDBEntry dbRef = new PDBEntry();
36     dbRef.setId("1tim");
37
38     Vector<PDBEntry> pdbIds = new Vector<PDBEntry>();
39     pdbIds.add(dbRef);
40
41     seq.setPDBId(pdbIds);
42   }
43
44   @After
45   public void tearDown() throws Exception
46   {
47     seq = null;
48   }
49
50   @Test
51   public void getPDBIdColumIndexTest()
52   {
53     List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
54     wantedFields.add(PDBDocField.MOLECULE_TYPE);
55     wantedFields.add(PDBDocField.GENUS);
56     wantedFields.add(PDBDocField.GENE_NAME);
57     wantedFields.add(PDBDocField.TITLE);
58     wantedFields.add(PDBDocField.PDB_ID);
59     assertEquals(5, StructureChooser.getPDBIdColumIndex(wantedFields));
60   }
61
62   @Test
63   public void buildQueryTest()
64   {
65     assertEquals(
66             "1tim OR text:XYZ_1 OR text:XYZ_2 OR text:XYZ_3 OR text:XYZ_4",
67             StructureChooser.buildQuery(seq));
68   }
69
70   @Test
71   public void populateFilterComboBoxTest()
72   {
73     SequenceI[] selectedSeqs = new SequenceI[]
74     { seq };
75     StructureChooser sc = new StructureChooser(selectedSeqs, seq,
76             null);
77     sc.populateFilterComboBox();
78     int optionsSize = sc.getCmbFilterOption().getItemCount();
79     assertEquals(2, optionsSize); // if structures are not discovered then don't
80                                   // populate filter options
81
82     sc.setStructuresDiscovered(true);
83     sc.populateFilterComboBox();
84     optionsSize = sc.getCmbFilterOption().getItemCount();
85     assertTrue(optionsSize > 2); // if structures are found, filter options
86                                  // should be populated
87   }
88
89   @Test
90   public void fetchStructuresInfoTest()
91   {
92     SequenceI[] selectedSeqs = new SequenceI[]
93     { seq };
94     StructureChooser sc = new StructureChooser(selectedSeqs, seq, null);
95     sc.fetchStructuresMetaData();
96     assertTrue(sc.getDiscoveredStructuresSet() != null);
97     assertTrue(sc.getDiscoveredStructuresSet().size() > 0);
98
99   }
100 }