}
/**
- * Test a Paste action, where this adds sequences to an alignment.
+ * Test a Paste action, followed by Undo and Redo
*/
- @Test(groups = { "Functional" }, enabled = true)
- // TODO fix so it works
- public void testPaste_addToAlignment()
+ @Test(groups = { "Functional" }, enabled = false)
+ public void testPaste_undo_redo()
{
+ // TODO code this test properly, bearing in mind that:
+ // Paste action requires something on the clipboard (Cut/Copy)
+ // - EditCommand.paste doesn't add sequences to the alignment
+ // ... that is done in AlignFrame.paste()
+ // ... unless as a Redo
+ // ...
+
SequenceI[] newSeqs = new SequenceI[2];
newSeqs[0] = new Sequence("newseq0", "ACEFKL");
newSeqs[1] = new Sequence("newseq1", "JWMPDH");
- Edit ec = testee.new Edit(Action.PASTE, newSeqs, 0, al.getWidth(), al);
- EditCommand.paste(ec, new AlignmentI[] { al });
+ new EditCommand("Paste", Action.PASTE, newSeqs, 0, al.getWidth(), al);
assertEquals(6, al.getSequences().size());
assertEquals("1234567890", seqs[3].getSequenceAsString());
assertEquals("ACEFKL", seqs[4].getSequenceAsString());
assertEquals("ABXYZDEF", seq.getDatasetSequence().getSequenceAsString());
assertEquals(8, seq.getDatasetSequence().getEnd());
- edit.undoCommand(
- new AlignmentI[]
- { new Alignment(new SequenceI[] { seq }) });
+ /*
+ * undo the edit
+ */
+ AlignmentI[] views = new AlignmentI[]
+ { new Alignment(new SequenceI[] { seq }) };
+ edit.undoCommand(views);
assertEquals("ABC--DEF", seq.getSequenceAsString());
assertEquals("ABCDEF", seq.getDatasetSequence().getSequenceAsString());
assertEquals(6, seq.getEnd());
assertEquals(6, seq.getDatasetSequence().getEnd());
- edit.undoCommand(
- new AlignmentI[]
- { new Alignment(new SequenceI[] { seq }) });
+ /*
+ * redo the edit
+ */
+ edit.doCommand(views);
assertEquals("ABXYZ-DEF", seq.getSequenceAsString());
assertEquals(1, seq.getStart());
/*
* verify a new dataset sequence has appeared
*/
- assertEquals("Wrong Dataset size after cut",
+ assertEquals("Wrong Dataset size after " + msg,
newDatasetSequence ? 2 : 1, alignment.getDataset()
.getHeight());
}
+
/*
* undo and verify all restored
*/
/*
* verify dataset sequence has shrunk
*/
- assertEquals("Wrong Dataset size after cut", 1,
+ assertEquals("Wrong Dataset size after Undo of " + msg, 1,
alignment.getDataset().getHeight());
}
/*
* verify a new dataset sequence has appeared again
*/
- assertEquals("Wrong Dataset size after cut",
+ assertEquals("Wrong Dataset size after Redo of " + msg,
newDatasetSequence ? 2 : 1, alignment.getDataset()
.getHeight());
}
/*
* and that dataset sequence has shrunk
*/
- assertEquals("Wrong Dataset size after cut", 1,
+ assertEquals("Wrong Dataset size after final Undo of " + msg, 1,
alignment.getDataset().getHeight());
}
}