X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fdbsources%2FUniprotTest.java;h=c7f216e7cd33ce0ef185ebc559ff44f71bc3ed04;hb=11f6e7a63cc627f5dffb0dd382343bd99d15121c;hp=c603a110559167360c087a8fb875f154bec4e37c;hpb=42df19afce43090aea47fe782195f11236801be7;p=jalview.git diff --git a/test/jalview/ws/dbsources/UniprotTest.java b/test/jalview/ws/dbsources/UniprotTest.java index c603a11..c7f216e 100644 --- a/test/jalview/ws/dbsources/UniprotTest.java +++ b/test/jalview/ws/dbsources/UniprotTest.java @@ -35,6 +35,7 @@ import java.io.Reader; import java.io.StringReader; import java.util.Vector; +import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -66,6 +67,8 @@ public class UniprotTest + "ML" + "ML" + "M" + + "LLMVM" + + "LLLMVML" + "MHAPL VSKDL" + ""; @@ -101,7 +104,7 @@ public class UniprotTest * Check sequence features */ Vector features = entry.getFeature(); - assertEquals(6, features.size()); + assertEquals(8, features.size()); UniprotFeature sf = features.get(0); assertEquals("signal peptide", sf.getType()); assertNull(sf.getDescription()); @@ -123,28 +126,42 @@ public class UniprotTest sf = features.get(3); assertEquals("sequence variant", sf.getType()); - assertEquals("Variation: 'L' Original: 'M'", sf.getDescription()); + assertNull(sf.getDescription()); assertEquals(41, sf.getPosition()); assertEquals(41, sf.getBegin()); assertEquals(41, sf.getEnd()); sf = features.get(4); assertEquals("sequence variant", sf.getType()); - assertEquals("Pathogenic Variation: 'L' Original: 'M'", - sf.getDescription()); + assertEquals("Pathogenic", sf.getDescription()); assertEquals(41, sf.getPosition()); assertEquals(41, sf.getBegin()); assertEquals(41, sf.getEnd()); sf = features.get(5); assertEquals("sequence variant", sf.getType()); - assertEquals("Pathogenic Original: 'M'", sf.getDescription()); + assertEquals("Pathogenic", sf.getDescription()); assertEquals(41, sf.getPosition()); assertEquals(41, sf.getBegin()); assertEquals(41, sf.getEnd()); - /* - * Check cross-references - */ + + sf = features.get(6); + assertEquals("sequence variant", sf.getType()); + assertEquals("Foo", + sf.getDescription()); + assertEquals(42, sf.getPosition()); + assertEquals(42, sf.getBegin()); + assertEquals(42, sf.getEnd()); + Assert.assertEquals(Uniprot.getDescription(sf), + "p.Met42Leu" + "\n" + "p.Met42LeuMetVal Foo"); + + sf = features.get(7); + assertEquals(42, sf.getBegin()); + assertEquals(43, sf.getEnd()); + Assert.assertEquals(Uniprot.getDescription(sf), + "p.MetLeu42LeuLeu" + "\n" + "p.MetLeu42LeuMetVal Foo"); /* + * Check cross-references + */ Vector xrefs = entry.getDbReference(); assertEquals(3, xrefs.size()); @@ -210,4 +227,29 @@ public class UniprotTest assertEquals(expectedDescription, Uniprot.getUniprotEntryDescription(entry)); } + + @Test(groups = { "Functional" }) + public void testGetDescription() + { + UniprotFeature uf = new UniprotFeature(); + assertEquals("", Uniprot.getDescription(uf)); + + uf.setDescription("Hello"); + assertEquals("Hello", Uniprot.getDescription(uf)); + + uf.setPosition(23); + uf.setOriginal("K"); + Vector vars = new Vector(); + vars.add("y"); + uf.setVariation(vars); + assertEquals("p.Lys23Tyr Hello", Uniprot.getDescription(uf)); + + vars.clear(); + vars.add("z"); // unknown variant - fails gracefully + uf.setVariation(vars); + assertEquals("p.Lys23z Hello", Uniprot.getDescription(uf)); + + uf.setVariation(null); // variant missing - is ignored + assertEquals("Hello", Uniprot.getDescription(uf)); + } }