X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2Ffeatures%2FSequenceFeaturesTest.java;h=d5da9fa920f17ff88bf8031cfc3fa4e84a1a6a0d;hb=8f8c3ca7ac8630c75b76fcbab825444c5c672b86;hp=1ee21f3eb43a0b34456b25c44f825699eecd19c6;hpb=b293e4fedbfac29547a9af2b46028ac85a7376c1;p=jalview.git diff --git a/test/jalview/datamodel/features/SequenceFeaturesTest.java b/test/jalview/datamodel/features/SequenceFeaturesTest.java index 1ee21f3..d5da9fa 100644 --- a/test/jalview/datamodel/features/SequenceFeaturesTest.java +++ b/test/jalview/datamodel/features/SequenceFeaturesTest.java @@ -7,6 +7,7 @@ import static org.testng.Assert.assertTrue; import jalview.datamodel.SequenceFeature; import java.util.List; +import java.util.Set; import org.testng.annotations.Test; @@ -310,4 +311,49 @@ public class SequenceFeaturesTest sf.delete(sf1); assertFalse(sf.hasFeatures()); } + + @Test(groups = "Functional") + public void testGetFeatureGroups() + { + SequenceFeatures sf = new SequenceFeatures(); + assertTrue(sf.getFeatureGroups().isEmpty()); + + SequenceFeature sf1 = new SequenceFeature("Pfam", "Desc", 10, 50, 0f, + "PfamGroup"); + sf.add(sf1); + Set groups = sf.getFeatureGroups(); + assertEquals(groups.size(), 1); + assertTrue(groups.contains("PfamGroup")); + + SequenceFeature sf2 = new SequenceFeature("Cath", "Desc", 10, 50, 0f, + null); + sf.add(sf2); + groups = sf.getFeatureGroups(); + assertEquals(groups.size(), 2); + assertTrue(groups.contains("PfamGroup")); + assertTrue(groups.contains(null)); + + sf.delete(sf1); + sf.delete(sf2); + assertTrue(sf.getFeatureGroups().isEmpty()); + + SequenceFeature sf3 = new SequenceFeature("CDS", "", 10, 50, 0f, + "Ensembl"); + sf.add(sf3); + SequenceFeature sf4 = new SequenceFeature("exon", "", 10, 50, 0f, + "Ensembl"); + sf.add(sf4); + groups = sf.getFeatureGroups(); + assertEquals(groups.size(), 1); + assertTrue(groups.contains("Ensembl")); + + /* + * delete last Ensembl group feature from CDS features + * but still have one in exon features + */ + sf.delete(sf3); + groups = sf.getFeatureGroups(); + assertEquals(groups.size(), 1); + assertTrue(groups.contains("Ensembl")); + } }