X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FStructureChooserTest.java;h=446d32d4cb2fc38d171b19dd41c559efa8447436;hb=refs%2Fheads%2Freleases%2FRelease_2_10_0_Branch;hp=947cb992a7c6c0b5da077ca803995ba1696effe9;hpb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;p=jalview.git diff --git a/test/jalview/gui/StructureChooserTest.java b/test/jalview/gui/StructureChooserTest.java index 947cb99..446d32d 100644 --- a/test/jalview/gui/StructureChooserTest.java +++ b/test/jalview/gui/StructureChooserTest.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -24,9 +24,11 @@ import static org.testng.AssertJUnit.assertEquals; 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.Vector; @@ -43,7 +45,7 @@ public class StructureChooserTest { seq = new Sequence("PDB|4kqy|4KQY|A", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1, 26); - seq.setDatasetSequence(seq); + seq.createDatasetSequence(); for (int x = 1; x < 5; x++) { DBRefEntry dbRef = new DBRefEntry(); @@ -60,7 +62,7 @@ public class StructureChooserTest seq.setPDBId(pdbIds); } - @AfterMethod + @AfterMethod(alwaysRun = true) public void tearDown() throws Exception { seq = null; @@ -70,27 +72,59 @@ public class StructureChooserTest public void buildQueryTest() { String query = StructureChooser.buildQuery(seq); - System.out.println(">>>>>>>>>> query : " + query); + assertEquals("pdb_id:1tim", query); + System.out.println("seq >>>> " + seq); + seq.getAllPDBEntries().clear(); + query = StructureChooser.buildQuery(seq); assertEquals( - "4kqy OR text:1tim OR text:XYZ_1 OR text:XYZ_2 OR text:XYZ_3 OR text:XYZ_4", + "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); } @Test(groups = { "Functional" }) - public void populateFilterComboBoxTest() + public void populateFilterComboBoxTest() throws InterruptedException { SequenceI[] selectedSeqs = new SequenceI[] { seq }; StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); - sc.populateFilterComboBox(); + sc.populateFilterComboBox(false, false); int optionsSize = sc.getCmbFilterOption().getItemCount(); assertEquals(3, optionsSize); // if structures are not discovered then don't // populate filter options - sc.setStructuresDiscovered(true); - sc.populateFilterComboBox(); + sc.populateFilterComboBox(true, false); optionsSize = sc.getCmbFilterOption().getItemCount(); assertTrue(optionsSize > 3); // if structures are found, filter options // should be populated + + sc.populateFilterComboBox(true, true); + assertTrue(sc.getCmbFilterOption().getSelectedItem() != null); + FilterOption filterOpt = (FilterOption) sc.getCmbFilterOption() + .getSelectedItem(); + assertEquals("Cached PDB Entries", filterOpt.getName()); } @Test(groups = { "Functional" }) @@ -103,4 +137,22 @@ public class StructureChooserTest assertTrue(sc.getDiscoveredStructuresSet().size() > 0); } + + @Test(groups = { "Functional" }) + public void sanitizeSeqNameTest() + { + String name = "ab_cdEF|fwxyz012349"; + assertEquals(name, StructureChooser.sanitizeSeqName(name)); + + // remove a [nn] substring + name = "abcde12[345]fg"; + assertEquals("abcde12fg", StructureChooser.sanitizeSeqName(name)); + + // remove characters other than a-zA-Z0-9 | or _ + name = "ab[cd],.\t£$*!- \\\"@:e"; + assertEquals("abcde", StructureChooser.sanitizeSeqName(name)); + + name = "abcde12[345a]fg"; + assertEquals("abcde12345afg", StructureChooser.sanitizeSeqName(name)); + } }