X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FMappingUtilsTest.java;h=022e2d6006dfac37f39921c5fb15989f911ad274;hb=648e4d6232f149d6844a2a6b5c2613938a917f2f;hp=bd97ad822f09504dc38b2b2d5eba7a927848ec4b;hpb=1b911af46e474fd504a4d505327e02b684d9a397;p=jalview.git diff --git a/test/jalview/util/MappingUtilsTest.java b/test/jalview/util/MappingUtilsTest.java index bd97ad8..022e2d6 100644 --- a/test/jalview/util/MappingUtilsTest.java +++ b/test/jalview/util/MappingUtilsTest.java @@ -50,6 +50,7 @@ import java.awt.Color; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Iterator; import java.util.List; import org.testng.annotations.BeforeClass; @@ -689,7 +690,7 @@ public class MappingUtilsTest AlignedCodonFrame acf3 = new AlignedCodonFrame(); acf3.addMap(seq3.getDatasetSequence(), seq1.getDatasetSequence(), map); - List mappings = new ArrayList(); + List mappings = new ArrayList<>(); mappings.add(acf1); mappings.add(acf2); mappings.add(acf3); @@ -764,7 +765,7 @@ public class MappingUtilsTest AlignedCodonFrame acf4 = new AlignedCodonFrame(); acf4.addMap(seq3.getDatasetSequence(), seq4.getDatasetSequence(), map); - List mappings = new ArrayList(); + List mappings = new ArrayList<>(); mappings.add(acf1); mappings.add(acf2); mappings.add(acf3); @@ -821,7 +822,7 @@ public class MappingUtilsTest AlignedCodonFrame acf = new AlignedCodonFrame(); MapList map = new MapList(new int[] { 8, 16 }, new int[] { 5, 7 }, 3, 1); acf.addMap(dna.getDatasetSequence(), protein.getDatasetSequence(), map); - List mappings = new ArrayList(); + List mappings = new ArrayList<>(); mappings.add(acf); AlignmentI prot = new Alignment(new SequenceI[] { protein }); @@ -913,9 +914,9 @@ public class MappingUtilsTest MappingUtils.mapColumnSelection(proteinSelection, hiddenCols, proteinView, dnaView, dnaSelection, dnaHidden); assertEquals("[]", dnaSelection.getSelected().toString()); - List hidden = dnaHidden.getListOfCols(); - assertEquals(1, hidden.size()); - assertEquals("[0, 4]", Arrays.toString(hidden.get(0))); + Iterator regions = dnaHidden.iterator(); + assertEquals(1, dnaHidden.getNumberOfRegions()); + assertEquals("[0, 4]", Arrays.toString(regions.next())); /* * Column 1 in protein picks up Seq1/K which maps to cols 0-3 in dna @@ -930,9 +931,9 @@ public class MappingUtilsTest proteinSelection.hideSelectedColumns(1, hiddenCols); MappingUtils.mapColumnSelection(proteinSelection, hiddenCols, proteinView, dnaView, dnaSelection, dnaHidden); - hidden = dnaHidden.getListOfCols(); - assertEquals(1, hidden.size()); - assertEquals("[0, 3]", Arrays.toString(hidden.get(0))); + regions = dnaHidden.iterator(); + assertEquals(1, dnaHidden.getNumberOfRegions()); + assertEquals("[0, 3]", Arrays.toString(regions.next())); /* * Column 2 in protein picks up gaps only - no mapping @@ -944,7 +945,7 @@ public class MappingUtilsTest proteinSelection.hideSelectedColumns(2, hiddenCols); MappingUtils.mapColumnSelection(proteinSelection, hiddenCols, proteinView, dnaView, dnaSelection, dnaHidden); - assertTrue(dnaHidden.getListOfCols().isEmpty()); + assertEquals(0, dnaHidden.getNumberOfRegions()); /* * Column 3 in protein picks up Seq1/P, Seq2/Q, Seq3/S which map to columns @@ -959,9 +960,9 @@ public class MappingUtilsTest MappingUtils.mapColumnSelection(proteinSelection, hiddenCols, proteinView, dnaView, dnaSelection, dnaHidden); assertEquals("[0, 1, 2, 3]", dnaSelection.getSelected().toString()); - hidden = dnaHidden.getListOfCols(); - assertEquals(1, hidden.size()); - assertEquals("[5, 10]", Arrays.toString(hidden.get(0))); + regions = dnaHidden.iterator(); + assertEquals(1, dnaHidden.getNumberOfRegions()); + assertEquals("[5, 10]", Arrays.toString(regions.next())); /* * Combine hiding columns 1 and 3 to get discontiguous hidden columns @@ -974,10 +975,10 @@ public class MappingUtilsTest proteinSelection.hideSelectedColumns(3, hiddenCols); MappingUtils.mapColumnSelection(proteinSelection, hiddenCols, proteinView, dnaView, dnaSelection, dnaHidden); - hidden = dnaHidden.getListOfCols(); - assertEquals(2, hidden.size()); - assertEquals("[0, 3]", Arrays.toString(hidden.get(0))); - assertEquals("[5, 10]", Arrays.toString(hidden.get(1))); + regions = dnaHidden.iterator(); + assertEquals(2, dnaHidden.getNumberOfRegions()); + assertEquals("[0, 3]", Arrays.toString(regions.next())); + assertEquals("[5, 10]", Arrays.toString(regions.next())); } @Test(groups = { "Functional" }) @@ -988,7 +989,7 @@ public class MappingUtilsTest /* * [start, end] ranges */ - List ranges = new ArrayList(); + List ranges = new ArrayList<>(); assertEquals(0, MappingUtils.getLength(ranges)); ranges.add(new int[] { 1, 1 }); assertEquals(1, MappingUtils.getLength(ranges)); @@ -1011,7 +1012,7 @@ public class MappingUtilsTest public void testContains() { assertFalse(MappingUtils.contains(null, 1)); - List ranges = new ArrayList(); + List ranges = new ArrayList<>(); assertFalse(MappingUtils.contains(ranges, 1)); ranges.add(new int[] { 1, 4 }); @@ -1149,4 +1150,49 @@ public class MappingUtilsTest assertEquals("[12, 11, 8, 4]", Arrays.toString(ranges)); } + @Test(groups = "Functional") + public void testRemoveEndPositions() + { + List ranges = new ArrayList<>(); + + /* + * case 1: truncate last range + */ + ranges.add(new int[] { 1, 10 }); + ranges.add(new int[] { 20, 30 }); + MappingUtils.removeEndPositions(5, ranges); + assertEquals(2, ranges.size()); + assertEquals(25, ranges.get(1)[1]); + + /* + * case 2: remove last range + */ + ranges.clear(); + ranges.add(new int[] { 1, 10 }); + ranges.add(new int[] { 20, 22 }); + MappingUtils.removeEndPositions(3, ranges); + assertEquals(1, ranges.size()); + assertEquals(10, ranges.get(0)[1]); + + /* + * case 3: truncate penultimate range + */ + ranges.clear(); + ranges.add(new int[] { 1, 10 }); + ranges.add(new int[] { 20, 21 }); + MappingUtils.removeEndPositions(3, ranges); + assertEquals(1, ranges.size()); + assertEquals(9, ranges.get(0)[1]); + + /* + * case 4: remove last two ranges + */ + ranges.clear(); + ranges.add(new int[] { 1, 10 }); + ranges.add(new int[] { 20, 20 }); + ranges.add(new int[] { 30, 30 }); + MappingUtils.removeEndPositions(3, ranges); + assertEquals(1, ranges.size()); + assertEquals(9, ranges.get(0)[1]); + } }