X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FStructureChooserTest.java;h=4685e4cb78350a81b9619b65b2598aa90f23fad5;hb=01e36c0ce9358948c93009c93b54d6a8ec69138b;hp=4535c93c1b3121e0820e0794d288606bab388e2f;hpb=4dc268e8e7f986a2fd34df2019996e4494ceb74c;p=jalview.git diff --git a/test/jalview/gui/StructureChooserTest.java b/test/jalview/gui/StructureChooserTest.java index 4535c93..4685e4c 100644 --- a/test/jalview/gui/StructureChooserTest.java +++ b/test/jalview/gui/StructureChooserTest.java @@ -20,23 +20,34 @@ */ package jalview.gui; -import static org.testng.AssertJUnit.assertEquals; +import static org.testng.Assert.assertEquals; +import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; -import jalview.datamodel.DBRefEntry; -import jalview.datamodel.DBRefSource; -import jalview.datamodel.PDBEntry; -import jalview.datamodel.Sequence; -import jalview.datamodel.SequenceI; -import jalview.jbgui.GStructureChooser.FilterOption; - +import java.util.Collection; import java.util.Vector; +import org.junit.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import jalview.datamodel.DBRefEntry; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceI; +import jalview.fts.api.FTSData; +import jalview.fts.core.FTSRestClient; +import jalview.fts.service.pdb.PDBFTSRestClient; +import jalview.fts.service.pdb.PDBFTSRestClientTest; +import jalview.fts.service.threedbeacons.TDBeaconsFTSRestClient; +import jalview.fts.threedbeacons.TDBeaconsFTSRestClientTest; +import jalview.gui.structurechooser.PDBStructureChooserQuerySource; +import jalview.jbgui.FilterOption; +import junit.extensions.PA; + +@Test(singleThreaded = true) public class StructureChooserTest { @@ -47,7 +58,7 @@ public class StructureChooserTest JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); } - Sequence seq; + Sequence seq,upSeq; @BeforeMethod(alwaysRun = true) public void setUp() throws Exception @@ -65,64 +76,76 @@ public class StructureChooserTest PDBEntry dbRef = new PDBEntry(); dbRef.setId("1tim"); - Vector pdbIds = new Vector(); + Vector pdbIds = new Vector<>(); pdbIds.add(dbRef); seq.setPDBId(pdbIds); + + // Uniprot sequence for 3D-Beacons mocks + upSeq = new Sequence("P38398", + "MDLSALRVEEVQNVINAMQKILECPICLELIKEPVSTKCDHIFCKFCMLKLLNQKKGPSQCPLCKNDITKRS\n" + + "LQESTRFSQLVEELLKIICAFQLDTGLEYANSYNFAKKENNSPEHLKDEVSIIQSMGYRNRAKRLLQSEPEN\n" + + "PSLQETSLSVQLSNLGTVRTLRTKQRIQPQKTSVYIELGSDSSEDTVNKATYCSVGDQELLQITPQGTRDEI\n" + + "SLDSAKKAACEFSETDVTNTEHHQPSNNDLNTTEKRAAERHPEKYQGSSVSNLHVEPCGTNTHASSLQHENS\n" + + "SLLLTKDRMNVEKAEFCNKSKQPGLARSQHNRWAGSKETCNDRRTPSTEKKVDLNADPLCERKEWNKQKLPC\n" + + "SENPRDTEDVPWITLNSSIQKVNEWFSRSDELLGSDDSHDGESESNAKVADVLDVLNEVDEYSGSSEKIDLL\n" + + "ASDPHEALICKSERVHSKSVESNIEDKIFGKTYRKKASLPNLSHVTENLIIGAFVTEPQIIQERPLTNKLKR\n" + + "KRRPTSGLHPEDFIKKADLAVQKTPEMINQGTNQTEQNGQVMNITNSGHENKTKGDSIQNEKNPNPIESLEK\n" + + "ESAFKTKAEPISSSISNMELELNIHNSKAPKKNRLRRKSSTRHIHALELVVSRNLSPPNCTELQIDSCSSSE\n" + + "EIKKKKYNQMPVRHSRNLQLMEGKEPATGAKKSNKPNEQTSKRHDSDTFPELKLTNAPGSFTKCSNTSELKE\n" + + "FVNPSLPREEKEEKLETVKVSNNAEDPKDLMLSGERVLQTERSVESSSISLVPGTDYGTQESISLLEVSTLG\n" + + "KAKTEPNKCVSQCAAFENPKGLIHGCSKDNRNDTEGFKYPLGHEVNHSRETSIEMEESELDAQYLQNTFKVS\n" + + "KRQSFAPFSNPGNAEEECATFSAHSGSLKKQSPKVTFECEQKEENQGKNESNIKPVQTVNITAGFPVVGQKD\n" + + "KPVDNAKCSIKGGSRFCLSSQFRGNETGLITPNKHGLLQNPYRIPPLFPIKSFVKTKCKKNLLEENFEEHSM\n" + + "SPEREMGNENIPSTVSTISRNNIRENVFKEASSSNINEVGSSTNEVGSSINEIGSSDENIQAELGRNRGPKL\n" + + "NAMLRLGVLQPEVYKQSLPGSNCKHPEIKKQEYEEVVQTVNTDFSPYLISDNLEQPMGSSHASQVCSETPDD\n" + + "LLDDGEIKEDTSFAENDIKESSAVFSKSVQKGELSRSPSPFTHTHLAQGYRRGAKKLESSEENLSSEDEELP\n" + + "CFQHLLFGKVNNIPSQSTRHSTVATECLSKNTEENLLSLKNSLNDCSNQVILAKASQEHHLSEETKCSASLF\n" + + "SSQCSELEDLTANTNTQDPFLIGSSKQMRHQSESQGVGLSDKELVSDDEERGTGLEENNQEEQSMDSNLGEA\n" + + "ASGCESETSVSEDCSGLSSQSDILTTQQRDTMQHNLIKLQQEMAELEAVLEQHGSQPSNSYPSIISDSSALE\n" + + "DLRNPEQSTSEKAVLTSQKSSEYPISQNPEGLSADKFEVSADSSTSKNKEPGVERSSPSKCPSLDDRWYMHS\n" + + "CSGSLQNRNYPSQEELIKVVDVEEQQLEESGPHDLTETSYLPRQDLEGTPYLESGISLFSDDPESDPSEDRA\n" + + "PESARVGNIPSSTSALKVPQLKVAESAQSPAAAHTTDTAGYNAMEESVSREKPELTASTERVNKRMSMVVSG\n" + + "LTPEEFMLVYKFARKHHITLTNLITEETTHVVMKTDAEFVCERTLKYFLGIAGGKWVVSYFWVTQSIKERKM\n" + + "LNEHDFEVRGDVVNGRNHQGPKRARESQDRKIFRGLEICCYGPFTNMPTDQLEWMVQLCGASVVKELSSFTL\n" + + "GTGVHPIVVVQPDAWTEDNGFHAIGQMCEAPVVTREWVLDSVALYQCQELDTYLIPQIPHSHY\n" + + "", 1, +1863); + upSeq.createDatasetSequence(); + upSeq.setDescription("Breast cancer type 1 susceptibility protein"); + upSeq.addDBRef(new DBRefEntry("UNIPROT","0","P38398",null,true)); } @AfterMethod(alwaysRun = true) public void tearDown() throws Exception { seq = null; - } - - @Test(groups = { "Functional" }) - public void buildQueryTest() - { - String query = StructureChooser.buildQuery(seq); - assertEquals("pdb_id:1tim", query); - System.out.println("seq >>>> " + seq); - seq.getAllPDBEntries().clear(); - query = StructureChooser.buildQuery(seq); - assertEquals( - "text:XYZ_1 OR text:XYZ_2 OR text:XYZ_3 OR text:XYZ_4 OR text:4kqy", - query); - seq.setDBRefs(null); - query = StructureChooser.buildQuery(seq); - assertEquals("text:4kqy", query); - - DBRefEntry uniprotDBRef = new DBRefEntry(); - uniprotDBRef.setAccessionId("P12345"); - uniprotDBRef.setSource(DBRefSource.UNIPROT); - seq.addDBRef(uniprotDBRef); - - DBRefEntry pdbDBRef = new DBRefEntry(); - pdbDBRef.setAccessionId("1XYZ"); - pdbDBRef.setSource(DBRefSource.PDB); - seq.addDBRef(pdbDBRef); - - for (int x = 1; x < 5; x++) - { - DBRefEntry dbRef = new DBRefEntry(); - dbRef.setAccessionId("XYZ_" + x); - seq.addDBRef(dbRef); - } - query = StructureChooser.buildQuery(seq); - assertEquals( - "uniprot_accession:P12345 OR uniprot_id:P12345 OR pdb_id:1xyz", - query); + upSeq=null; } @Test(groups = { "Functional" }) public void populateFilterComboBoxTest() throws InterruptedException { + TDBeaconsFTSRestClientTest.setMock(); + PDBFTSRestClientTest.setMock(); + SequenceI[] selectedSeqs = new SequenceI[] { seq }; StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); + + // if structures are not discovered then don't + // populate filter options sc.populateFilterComboBox(false, false); int optionsSize = sc.getCmbFilterOption().getItemCount(); - assertEquals(2, optionsSize); // if structures are not discovered then don't - // populate filter options + System.out.println("Items (no data, no cache): "); + StringBuilder items = new StringBuilder(); + for (int p=0;p 0); + Collection ss = (Collection) PA.getValue(sc, + "discoveredStructuresSet"); + assertNotNull(ss); + assertTrue(ss.size() > 0); + } + @Test(groups = { "Functional" }) + public void fetchStructuresInfoMockedTest() + { + TDBeaconsFTSRestClientTest.setMock(); + PDBFTSRestClientTest.setMock(); + SequenceI[] selectedSeqs = new SequenceI[] { upSeq }; + StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); + sc.fetchStructuresMetaData(); + Collection ss = (Collection) PA.getValue(sc, + "discoveredStructuresSet"); + assertNotNull(ss); + assertTrue(ss.size() > 0); } @Test(groups = { "Functional" }) public void sanitizeSeqNameTest() { String name = "ab_cdEF|fwxyz012349"; - assertEquals(name, StructureChooser.sanitizeSeqName(name)); + assertEquals(name, PDBStructureChooserQuerySource.sanitizeSeqName(name)); // remove a [nn] substring name = "abcde12[345]fg"; - assertEquals("abcde12fg", StructureChooser.sanitizeSeqName(name)); + assertEquals("abcde12fg", PDBStructureChooserQuerySource.sanitizeSeqName(name)); // remove characters other than a-zA-Z0-9 | or _ name = "ab[cd],.\t£$*!- \\\"@:e"; - assertEquals("abcde", StructureChooser.sanitizeSeqName(name)); + assertEquals("abcde", PDBStructureChooserQuerySource.sanitizeSeqName(name)); name = "abcde12[345a]fg"; - assertEquals("abcde12345afg", StructureChooser.sanitizeSeqName(name)); + assertEquals("abcde12345afg", PDBStructureChooserQuerySource.sanitizeSeqName(name)); } }