X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2Fstructurechooser%2FStructureChooserQuerySourceTest.java;h=36d7d0a3860a2b889959fca53b55422d166a0f74;hb=817226e1c7264066e1d435faba8d41f108c5628b;hp=f492ce6611cf2377c4bedfaaba6056b994667841;hpb=2e3c61cedbe9185548ecfecad806c9e4f67f43c2;p=jalview.git diff --git a/test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java b/test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java index f492ce6..36d7d0a 100644 --- a/test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java +++ b/test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java @@ -24,6 +24,8 @@ package jalview.gui.structurechooser; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; +import java.util.Collection; +import java.util.List; import java.util.Vector; import org.junit.Assert; @@ -38,11 +40,13 @@ import jalview.datamodel.DBRefSource; import jalview.datamodel.PDBEntry; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; +import jalview.fts.api.FTSData; import jalview.fts.core.FTSRestRequest; import jalview.fts.core.FTSRestResponse; import jalview.fts.service.pdb.PDBFTSRestClient; import jalview.fts.threedbeacons.TDBeaconsFTSRestClientTest; import jalview.gui.JvOptionPane; +import jalview.gui.StructureChooser; import jalview.jbgui.FilterOption; public class StructureChooserQuerySourceTest @@ -173,7 +177,9 @@ public class StructureChooserQuerySourceTest { System.out.println("seq >>>> " + upSeq); TDBeaconsFTSRestClientTest.setMock(); + PDBFTSRestClient.setMock(); StructureChooserQuerySource scquery = StructureChooserQuerySource.getQuerySourceFor(new SequenceI[] { upSeq}); + // gets the lightweight proxy rather than the ThreeDBStructureChooserQuerySource AssertJUnit.assertTrue(scquery instanceof ThreeDBStructureChooserQuerySource); String query = scquery.buildQuery(upSeq); AssertJUnit.assertEquals("P38398", query); @@ -257,9 +263,26 @@ public class StructureChooserQuerySourceTest FTSRestResponse upResponse = null; FTSRestResponse pdbResponse = null; + // TODO test available options + // Best coverage + // Best Alphafold Model + // Best model (by confidence score) + // Will also need to develop a more sophisticated filtering system + List opts = tdbquery.getAvailableFilterOptions(StructureChooser.VIEWS_FILTER); + FilterOption opt_singlebest = opts.get(0); + FilterOption opt_manybest = opts.get(1); + assertEquals(opt_singlebest.getValue(), ThreeDBStructureChooserQuerySource.FILTER_FIRST_BEST_COVERAGE); + assertEquals(opt_manybest.getValue(), ThreeDBStructureChooserQuerySource.FILTER_TDBEACONS_COVERAGE); try { - upResponse = tdbquery.fetchStructuresMetaData(upSeq, tdbquery.getDocFieldPrefs().getStructureSummaryFields(), null, false); + upResponse = tdbquery.fetchStructuresMetaData(upSeq, tdbquery.getDocFieldPrefs().getStructureSummaryFields(), opt_singlebest, false); + tdbquery.updateAvailableFilterOptions(StructureChooser.VIEWS_FILTER,opts,upResponse.getSearchSummary()); + // test ranking without additional PDBe data + FTSRestResponse firstRanked = tdbquery.selectFirstRankedQuery(upSeq, upResponse.getSearchSummary(), tdbquery.getDocFieldPrefs().getStructureSummaryFields(), opt_singlebest.getValue(), false); + assertEquals(firstRanked.getNumberOfItemsFound(),1); + // many best response + upResponse = tdbquery.fetchStructuresMetaData(upSeq, tdbquery.getDocFieldPrefs().getStructureSummaryFields(), opt_manybest, false); + assertTrue(firstRanked.getNumberOfItemsFound()0); @@ -268,6 +291,7 @@ public class StructureChooserQuerySourceTest FTSRestResponse joinedResp = tdbquery.joinResponses(upResponse, pdbResponse); assertEquals(upResponse.getNumberOfItemsFound(),joinedResp.getNumberOfItemsFound()); + } catch (Exception x) { x.printStackTrace();