X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Furls%2FUrlLinkTableModelTest.java;h=c6d23b94e0fc8f5f37a9a08a09d253339df3cf2b;hb=31aca2e9990ff33e088faa41419bb60014a6fbcf;hp=e5086fd056a0ed4d2dd84cceaed3da19d0b4ab4d;hpb=a1bf90058be8be92554ecbc5868982dcdbed5a80;p=jalview.git diff --git a/test/jalview/urls/UrlLinkTableModelTest.java b/test/jalview/urls/UrlLinkTableModelTest.java index e5086fd..c6d23b9 100644 --- a/test/jalview/urls/UrlLinkTableModelTest.java +++ b/test/jalview/urls/UrlLinkTableModelTest.java @@ -41,7 +41,8 @@ import org.testng.Assert; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -public class UrlLinkTableModelTest { +public class UrlLinkTableModelTest +{ private static final String inmenu = "TEST|http://someurl.blah/$DB_ACCESSION$|" + "ANOTHER|http://test/t$SEQUENCE_ID$|" @@ -52,8 +53,7 @@ public class UrlLinkTableModelTest { private static final String notinmenu = "Not1|http://not.in.menu/$DB_ACCESSION$|" + "Not2|http://not.in.menu.either/$DB_ACCESSION$"; - // Test identifiers.org download file - private static final String testIdOrgString = "[{\"id\":\"MIR:00000002\",\"name\":\"ChEBI\",\"pattern\":\"^CHEBI:\\d+$\"," + private static final String testIdOrgString = "{\"Local\": [{\"id\":\"MIR:00000002\",\"name\":\"ChEBI\",\"pattern\":\"^CHEBI:\\d+$\"," + "\"definition\":\"Chemical Entities of Biological Interest (ChEBI)\",\"prefix\":\"chebi\"," + "\"url\":\"http://identifiers.org/chebi\"},{\"id\":\"MIR:00000005\",\"name\":\"UniProt Knowledgebase\"," + "\"pattern\":\"^([A-N,R-Z][0-9]([A-Z][A-Z, 0-9][A-Z, 0-9][0-9]){1,2})|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])(\\.\\d+)?$\"," @@ -61,7 +61,7 @@ public class UrlLinkTableModelTest { + "{\"id\":\"MIR:00000011\",\"name\":\"InterPro\",\"pattern\":\"^IPR\\d{6}$\",\"definition\":\"InterPro\",\"prefix\":\"interpro\"," + "\"url\":\"http://identifiers.org/interpro\"}," + "{\"id\":\"MIR:00000372\",\"name\":\"ENA\",\"pattern\":\"^[A-Z]+[0-9]+(\\.\\d+)?$\",\"definition\":\"The European Nucleotide Archive (ENA),\"" - + "\"prefix\":\"ena.embl\",\"url\":\"http://identifiers.org/ena.embl\"}]"; + + "\"prefix\":\"ena.embl\",\"url\":\"http://identifiers.org/ena.embl\"}]}"; private UrlProviderI prov; @@ -105,8 +105,9 @@ public class UrlLinkTableModelTest { @Test(groups = { "Functional" }) public void testInitialisation() { - int defaultCol = 3; - int nameCol = 0; + int defaultCol = 4; + int dbCol = 0; + int descCol = 1; UrlLinkTableModel m = new UrlLinkTableModel(prov); @@ -124,8 +125,11 @@ public class UrlLinkTableModelTest { if (isDefault) { count++; - String defaultName = (String) m.getValueAt(row, nameCol); - Assert.assertEquals(defaultName, "TEST2"); + String defaultDBName = (String) m.getValueAt(row, dbCol); + Assert.assertEquals(defaultDBName, "TEST2"); + + String defaultDesc = (String) m.getValueAt(row, descCol); + Assert.assertEquals(defaultDesc, "TEST2"); } } Assert.assertEquals(count, 1); @@ -140,7 +144,7 @@ public class UrlLinkTableModelTest { UrlLinkTableModel m = new UrlLinkTableModel(prov); // correct numbers of column and rows - Assert.assertEquals(m.getColumnCount(), 4); + Assert.assertEquals(m.getColumnCount(), 5); Assert.assertEquals(m.getRowCount(), 10); } @@ -154,19 +158,22 @@ public class UrlLinkTableModelTest { // check column names Assert.assertEquals(m.getColumnName(0), - MessageManager.formatMessage("label.name")); + MessageManager.formatMessage("label.database")); Assert.assertEquals(m.getColumnName(1), - MessageManager.formatMessage("label.url")); + MessageManager.formatMessage("label.name")); Assert.assertEquals(m.getColumnName(2), - MessageManager.formatMessage("label.inmenu")); + MessageManager.formatMessage("label.url")); Assert.assertEquals(m.getColumnName(3), + MessageManager.formatMessage("label.inmenu")); + Assert.assertEquals(m.getColumnName(4), MessageManager.formatMessage("label.primary")); // check column classes Assert.assertEquals(m.getColumnClass(0), String.class); Assert.assertEquals(m.getColumnClass(1), String.class); - Assert.assertEquals(m.getColumnClass(2), Boolean.class); + Assert.assertEquals(m.getColumnClass(2), String.class); Assert.assertEquals(m.getColumnClass(3), Boolean.class); + Assert.assertEquals(m.getColumnClass(4), Boolean.class); } /* @@ -181,13 +188,14 @@ public class UrlLinkTableModelTest { // check table has new row inserted Assert.assertEquals(m.getValueAt(10, 0), "newname"); - Assert.assertEquals(m.getValueAt(10, 1), "newurl"); - Assert.assertEquals(m.getValueAt(10, 2), true); - Assert.assertEquals(m.getValueAt(10, 3), false); + Assert.assertEquals(m.getValueAt(10, 1), "newname"); + Assert.assertEquals(m.getValueAt(10, 2), "newurl"); + Assert.assertEquals(m.getValueAt(10, 3), true); + Assert.assertEquals(m.getValueAt(10, 4), false); // check data source has new row insrte - Assert.assertTrue(prov.getLinksForMenu().contains( - "newname" + SEP + "newurl")); + Assert.assertTrue( + prov.getLinksForMenu().contains("newname" + SEP + "newurl")); } /* @@ -225,28 +233,36 @@ public class UrlLinkTableModelTest { // get original default int olddefault; boolean isDefault = false; - for (olddefault = 0; olddefault < m.getRowCount() && !isDefault; olddefault++) + for (olddefault = 0; olddefault < m.getRowCount() + && !isDefault; olddefault++) { isDefault = (boolean) m.getValueAt(olddefault, 3); } // set new values, one in each row - m.setValueAt("namechanged", 6, 0); - m.setValueAt("urlchanged", 7, 1); - m.setValueAt(false, 8, 2); - m.setValueAt(true, 6, 3); + m.setValueAt("dbnamechanged", 6, 0); + m.setValueAt("descchanged", 6, 1); + m.setValueAt("urlchanged", 7, 2); + m.setValueAt(false, 8, 3); + m.setValueAt(true, 6, 4); + + m.setValueAt("dbnamechanged", 5, 0); // check values updated in table - Assert.assertEquals(m.getValueAt(6, 0), "namechanged"); - Assert.assertEquals(m.getValueAt(7, 1), "urlchanged"); - Assert.assertFalse((boolean) m.getValueAt(8, 2)); - Assert.assertTrue((boolean) m.getValueAt(6, 3)); - Assert.assertFalse((boolean) m.getValueAt(olddefault, 3)); + Assert.assertEquals(m.getValueAt(6, 0), "descchanged"); // custom url can't + // change db name + Assert.assertEquals(m.getValueAt(6, 1), "descchanged"); + Assert.assertEquals(m.getValueAt(7, 2), "urlchanged"); + Assert.assertFalse((boolean) m.getValueAt(8, 3)); + Assert.assertTrue((boolean) m.getValueAt(6, 4)); + Assert.assertFalse((boolean) m.getValueAt(olddefault, 4)); + + Assert.assertEquals(m.getValueAt(5, 0), "dbnamechanged"); // check default row is exactly one row still for (int row = 0; row < m.getRowCount(); row++) { - isDefault = (boolean) m.getValueAt(row, 3); + isDefault = (boolean) m.getValueAt(row, 4); // if isDefault is true, row is 9 // if isDefault is false, row is not 9 @@ -254,13 +270,14 @@ public class UrlLinkTableModelTest { } // check table updated - Assert.assertTrue(prov.writeUrlsAsString(true).contains("namechanged" +SEP + m.getValueAt(6, 1))); - Assert.assertTrue(prov.writeUrlsAsString(true).contains(m.getValueAt(7,0) + SEP + "urlchanged")); - Assert.assertTrue(prov.writeUrlsAsString(false).contains( - (String) m.getValueAt(8, 0))); - Assert.assertEquals(prov.getPrimaryUrl("seqid"), m.getValueAt(6, 1) + Assert.assertTrue(prov.writeUrlsAsString(true) + .contains("descchanged" + SEP + m.getValueAt(6, 2))); + Assert.assertTrue(prov.writeUrlsAsString(true) + .contains(m.getValueAt(7, 1) + SEP + "urlchanged")); + Assert.assertTrue(prov.writeUrlsAsString(false) + .contains((String) m.getValueAt(8, 1))); + Assert.assertEquals(prov.getPrimaryUrl("seqid"), m.getValueAt(6, 2) .toString().replace(DELIM + SEQUENCE_ID + DELIM, "seqid")); - } /* @@ -275,15 +292,16 @@ public class UrlLinkTableModelTest { { Assert.assertFalse(m.isCellEditable(row, 0)); Assert.assertFalse(m.isCellEditable(row, 1)); - Assert.assertTrue(m.isCellEditable(row, 2)); + Assert.assertFalse(m.isCellEditable(row, 2)); + Assert.assertTrue(m.isCellEditable(row, 3)); if ((row == 4) || (row == 6) || (row == 7)) { - Assert.assertTrue(m.isCellEditable(row, 3)); + Assert.assertTrue(m.isCellEditable(row, 4)); } else { - Assert.assertFalse(m.isCellEditable(row, 3)); + Assert.assertFalse(m.isCellEditable(row, 4)); } } }