X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fcommands%2FEditCommandTest.java;h=348d87173cd9331e517e50375aa33ea6cbbf5f70;hb=e88567692c9f1f3adfb9764a802474e83ff4c69f;hp=9c91705828d8f4dd78766dc089578d080f1255a1;hpb=bc4b406cd34868d5b90391289dcfcd9715d4edcf;p=jalview.git diff --git a/test/jalview/commands/EditCommandTest.java b/test/jalview/commands/EditCommandTest.java index 9c91705..348d871 100644 --- a/test/jalview/commands/EditCommandTest.java +++ b/test/jalview/commands/EditCommandTest.java @@ -90,11 +90,11 @@ public class EditCommandTest testee = new EditCommand(); seqs = new SequenceI[4]; seqs[0] = new Sequence("seq0", "abcdefghjk"); - seqs[0].setDatasetSequence(new Sequence("seq0ds", "abcdefghjk")); + seqs[0].setDatasetSequence(new Sequence("seq0ds", "ABCDEFGHJK")); seqs[1] = new Sequence("seq1", "fghjklmnopq"); - seqs[1].setDatasetSequence(new Sequence("seq1ds", "fghjklmnopq")); + seqs[1].setDatasetSequence(new Sequence("seq1ds", "FGHJKLMNOPQ")); seqs[2] = new Sequence("seq2", "qrstuvwxyz"); - seqs[2].setDatasetSequence(new Sequence("seq2ds", "qrstuvwxyz")); + seqs[2].setDatasetSequence(new Sequence("seq2ds", "QRSTUVWXYZ")); seqs[3] = new Sequence("seq3", "1234567890"); seqs[3].setDatasetSequence(new Sequence("seq3ds", "1234567890")); al = new Alignment(seqs); @@ -279,9 +279,15 @@ public class EditCommandTest { // seem to need a dataset sequence on the edited sequence here seqs[1].createDatasetSequence(); - new EditCommand("", Action.REPLACE, "ZXY", new SequenceI[] { seqs[1] }, + assertEquals("fghjklmnopq", seqs[1].getSequenceAsString()); + // NB command.number holds end position for a Replace command + new EditCommand("", Action.REPLACE, "Z-xY", new SequenceI[] { seqs[1] }, 4, 8, al); assertEquals("abcdefghjk", seqs[0].getSequenceAsString()); + assertEquals("fghjZ-xYopq", seqs[1].getSequenceAsString()); + // Dataset Sequence should always be uppercase + assertEquals("fghjZxYopq".toUpperCase(), + seqs[1].getDatasetSequence().getSequenceAsString()); assertEquals("qrstuvwxyz", seqs[2].getSequenceAsString()); assertEquals("1234567890", seqs[3].getSequenceAsString()); } @@ -303,14 +309,16 @@ public class EditCommandTest * NB arg4 = start column of selection for edit (base 0) * arg5 = column after end of selection for edit */ - EditCommand edit = new EditCommand("", Action.REPLACE, "XYZ", + EditCommand edit = new EditCommand("", Action.REPLACE, "xyZ", new SequenceI[] { seq }, 2, 4, al); - assertEquals("ABXYZ-DEF", seq.getSequenceAsString()); + assertEquals("ABxyZ-DEF", seq.getSequenceAsString()); assertEquals(1, seq.getStart()); assertEquals(8, seq.getEnd()); - assertEquals("ABXYZDEF", seq.getDatasetSequence().getSequenceAsString()); + // Dataset sequence always uppercase + assertEquals("ABxyZDEF".toUpperCase(), + seq.getDatasetSequence().getSequenceAsString()); assertEquals(8, seq.getDatasetSequence().getEnd()); /* @@ -331,10 +339,11 @@ public class EditCommandTest */ edit.doCommand(views); - assertEquals("ABXYZ-DEF", seq.getSequenceAsString()); + assertEquals("ABxyZ-DEF", seq.getSequenceAsString()); assertEquals(1, seq.getStart()); assertEquals(8, seq.getEnd()); - assertEquals("ABXYZDEF", + // dataset sequence should be Uppercase + assertEquals("ABxyZDEF".toUpperCase(), seq.getDatasetSequence().getSequenceAsString()); assertEquals(8, seq.getDatasetSequence().getEnd()); @@ -357,8 +366,8 @@ public class EditCommandTest assertEquals("----klmnopq", seqs[1].getSequenceAsString()); // and ds is preserved assertTrue(dsseq == seqs[1].getDatasetSequence()); - // and it is unchanged - assertEquals("fghjklmnopq", dsseq.getSequenceAsString()); + // and it is unchanged and UPPERCASE ! + assertEquals("fghjklmnopq".toUpperCase(), dsseq.getSequenceAsString()); // and that alignment sequence start has been adjusted assertEquals(5, seqs[1].getStart()); assertEquals(11, seqs[1].getEnd()); @@ -384,8 +393,8 @@ public class EditCommandTest assertEquals("----klmnopq", seqs[1].getSequenceAsString()); // and ds is preserved assertTrue(dsseq == seqs[1].getDatasetSequence()); - // and it is unchanged - assertEquals("fghjklmnopq", dsseq.getSequenceAsString()); + // and it is unchanged AND UPPERCASE ! + assertEquals("fghjklmnopq".toUpperCase(), dsseq.getSequenceAsString()); // and that alignment sequence start has been adjusted assertEquals(5, seqs[1].getStart()); assertEquals(11, seqs[1].getEnd()); @@ -894,7 +903,6 @@ public class EditCommandTest * and validate the resulting remaining sequence features! */ SequenceI[] sqs = new SequenceI[] { seq0 }; - boolean checkDsSize = true; for (int from = 0; from < seq0.getLength(); from++) { @@ -915,15 +923,13 @@ public class EditCommandTest copySequenceFeatures, copySeq0.getSequenceFeatures().toString()); - if (checkDsSize) - { - /* - * verify a new dataset sequence has appeared - */ - assertEquals("Wrong Dataset size after " + msg, - newDatasetSequence ? 2 : 1, alignment.getDataset() - .getHeight()); - } + /* + * verify any new dataset sequence was added to the + * alignment dataset + */ + assertEquals("Wrong Dataset size after " + msg, + newDatasetSequence ? 2 : 1, + alignment.getDataset().getHeight()); /* * undo and verify all restored @@ -936,19 +942,13 @@ public class EditCommandTest /* * verify copy alignment dataset sequence still unaffected + * and alignment dataset has shrunk (if it was added to) */ assertEquals("Original dataset sequence was modified", copySequenceFeatures, copySeq0.getSequenceFeatures().toString()); - - if (checkDsSize) - { - /* - * verify dataset sequence has shrunk - */ - assertEquals("Wrong Dataset size after Undo of " + msg, 1, - alignment.getDataset().getHeight()); - } + assertEquals("Wrong Dataset size after Undo of " + msg, 1, + alignment.getDataset().getHeight()); /* * redo and verify @@ -958,20 +958,14 @@ public class EditCommandTest /* * verify copy alignment dataset sequence unaffected + * and any new dataset sequence readded to alignment dataset */ assertEquals("Original dataset sequence was modified", copySequenceFeatures, copySeq0.getSequenceFeatures().toString()); - - if (checkDsSize) - { - /* - * verify a new dataset sequence has appeared again - */ - assertEquals("Wrong Dataset size after Redo of " + msg, - newDatasetSequence ? 2 : 1, alignment.getDataset() - .getHeight()); - } + assertEquals("Wrong Dataset size after Redo of " + msg, + newDatasetSequence ? 2 : 1, + alignment.getDataset().getHeight()); /* * undo ready for next cut @@ -980,18 +974,13 @@ public class EditCommandTest /* * final verify that copy alignment dataset sequence is still unaffected + * and that alignment dataset has shrunk */ assertEquals("Original dataset sequence was modified", copySequenceFeatures, copySeq0.getSequenceFeatures().toString()); - if (checkDsSize) - { - /* - * and that dataset sequence has shrunk - */ - assertEquals("Wrong Dataset size after final Undo of " + msg, 1, - alignment.getDataset().getHeight()); - } + assertEquals("Wrong Dataset size after final Undo of " + msg, 1, + alignment.getDataset().getHeight()); } } }