X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FMappingUtilsTest.java;h=bd81d3000e0c8312f0483bf44863e6ff7157f65d;hb=27aed96d1aeae689818bd0a0028553186e3c3839;hp=3c1dbbbb8a69aab64ad1947453621ec5feaf7954;hpb=708cc06af06aa2912319ad736bcfecb62081de39;p=jalview.git diff --git a/test/jalview/util/MappingUtilsTest.java b/test/jalview/util/MappingUtilsTest.java index 3c1dbbb..bd81d30 100644 --- a/test/jalview/util/MappingUtilsTest.java +++ b/test/jalview/util/MappingUtilsTest.java @@ -24,6 +24,17 @@ import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; import static org.testng.AssertJUnit.assertSame; import static org.testng.AssertJUnit.assertTrue; +import static org.testng.AssertJUnit.fail; + +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; +import org.testng.annotations.Test; import java.awt.Color; import java.io.IOException; @@ -36,6 +47,7 @@ import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import jalview.api.AlignViewportI; +import jalview.bin.Cache; import jalview.commands.EditCommand; import jalview.commands.EditCommand.Action; import jalview.commands.EditCommand.Edit; @@ -58,6 +70,11 @@ import jalview.io.FormatAdapter; public class MappingUtilsTest { + @BeforeClass(alwaysRun = true) + public void setUp() + { + Cache.initLogger(); + } @BeforeClass(alwaysRun = true) public void setUpJvOptionPane() @@ -1322,10 +1339,40 @@ public class MappingUtilsTest assertEquals(9, ranges.get(0)[1]); } + @Test(groups = "Functional") + public void testListToArray() + { + List ranges = new ArrayList<>(); + + int[] result = MappingUtils.rangeListToArray(ranges); + assertEquals(result.length, 0); + ranges.add(new int[] { 24, 12 }); + result = MappingUtils.rangeListToArray(ranges); + assertEquals(result.length, 2); + assertEquals(result[0], 24); + assertEquals(result[1], 12); + ranges.add(new int[] { -7, 30 }); + result = MappingUtils.rangeListToArray(ranges); + assertEquals(result.length, 4); + assertEquals(result[0], 24); + assertEquals(result[1], 12); + assertEquals(result[2], -7); + assertEquals(result[3], 30); + try + { + MappingUtils.rangeListToArray(null); + fail("Expected exception"); + } catch (NullPointerException e) + { + // expected + } + } + /** * Test mapping a sequence group where sequences in and outside the group * share a dataset sequence (e.g. alternative CDS for the same gene) - * + *

+ * This scenario doesn't arise after JAL-3763 changes, but test left as still valid * @throws IOException */ @Test(groups = { "Functional" }) @@ -1347,6 +1394,9 @@ public class MappingUtilsTest SequenceI pep1 = new Sequence("pep1", "KF"); SequenceI pep2 = new Sequence("pep2", "FG"); SequenceI pep3 = new Sequence("pep3", "GP"); + pep1.createDatasetSequence(); + pep2.createDatasetSequence(); + pep3.createDatasetSequence(); /* * add mappings from coding positions of dna to respective peptides @@ -1371,7 +1421,7 @@ public class MappingUtilsTest new SequenceI[] { pep1, pep2, pep3 }); AlignViewportI cdnaView = new AlignViewport(cdna); - AlignViewportI proteinView = new AlignViewport(protein); + AlignViewportI peptideView = new AlignViewport(protein); protein.setCodonFrames(acfList); /* @@ -1389,7 +1439,7 @@ public class MappingUtilsTest * Verify the mapped sequence group in dna is cds1 and cds3 */ SequenceGroup mappedGroup = MappingUtils.mapSequenceGroup(sg, - proteinView, cdnaView); + peptideView, cdnaView); assertTrue(mappedGroup.getColourText()); assertSame(sg.getIdColour(), mappedGroup.getIdColour()); assertSame(sg.getOutlineColour(), mappedGroup.getOutlineColour()); @@ -1408,7 +1458,7 @@ public class MappingUtilsTest sg.addSequence(cds1, false); sg.setStartRes(0); sg.setEndRes(cdna.getWidth() - 1); - mappedGroup = MappingUtils.mapSequenceGroup(sg, cdnaView, proteinView); + mappedGroup = MappingUtils.mapSequenceGroup(sg, cdnaView, peptideView); assertTrue(mappedGroup.getColourText()); assertSame(sg.getIdColour(), mappedGroup.getIdColour()); assertSame(sg.getOutlineColour(), mappedGroup.getOutlineColour());