package jalview.gui; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import jalview.datamodel.DBRefEntry; import jalview.datamodel.PDBEntry; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import jalview.ws.dbsources.PDBRestClient.PDBDocField; import java.util.ArrayList; import java.util.List; import java.util.Vector; import org.junit.After; import org.junit.Before; import org.junit.Test; public class StructureChooserTest { Sequence seq; @Before public void setUp() throws Exception { seq = new Sequence("Test_Seq", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1, 26); seq.setDatasetSequence(seq); for (int x = 1; x < 5; x++) { DBRefEntry dbRef = new DBRefEntry(); dbRef.setAccessionId("XYZ_" + x); seq.addDBRef(dbRef); } PDBEntry dbRef = new PDBEntry(); dbRef.setId("1tim"); Vector pdbIds = new Vector(); pdbIds.add(dbRef); seq.setPDBId(pdbIds); } @After public void tearDown() throws Exception { seq = null; } @Test public void getPDBIdColumIndexTest() { List wantedFields = new ArrayList(); wantedFields.add(PDBDocField.MOLECULE_TYPE); wantedFields.add(PDBDocField.GENUS); wantedFields.add(PDBDocField.GENE_NAME); wantedFields.add(PDBDocField.TITLE); wantedFields.add(PDBDocField.PDB_ID); assertEquals(5, StructureChooser.getPDBIdColumIndex(wantedFields)); } @Test public void buildQueryTest() { assertEquals( "1tim OR text:XYZ_1 OR text:XYZ_2 OR text:XYZ_3 OR text:XYZ_4", StructureChooser.buildQuery(seq)); } @Test public void populateFilterComboBoxTest() { SequenceI[] selectedSeqs = new SequenceI[] { seq }; StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); sc.populateFilterComboBox(); int optionsSize = sc.getCmbFilterOption().getItemCount(); assertEquals(2, optionsSize); // if structures are not discovered then don't // populate filter options sc.setStructuresDiscovered(true); sc.populateFilterComboBox(); optionsSize = sc.getCmbFilterOption().getItemCount(); assertTrue(optionsSize > 2); // if structures are found, filter options // should be populated } @Test public void fetchStructuresInfoTest() { SequenceI[] selectedSeqs = new SequenceI[] { seq }; StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); sc.fetchStructuresMetaData(); assertTrue(sc.getDiscoveredStructuresSet() != null); assertTrue(sc.getDiscoveredStructuresSet().size() > 0); } }