@Test
public void testCutCopyPasteBetweenBanks() throws InterruptedException {
guiHandler.installDevice("Yamaha", "Yamaha DX7");
FrameWrapper library = guiHandler.openLibrary();
JTableFixture table = library.table();
Thread.sleep(100);
guiHandler.newPatch(library, "Yamaha DX7",
YamahaDX7VoiceBankDriver.class, listener);
FrameWrapper bank1 =
guiHandler.openPatchEditor(table, -1, 0, listener, false);
guiHandler.setPatchName(bank1, 0, 0, "test");
guiHandler.setPatchName(bank1, 0, 1, "test2");
bank1.table().cell(TableCell.row(0).column(0))
.requireValue(Pattern.compile("01 test\\s+"));
guiHandler.newPatch(library, "Yamaha DX7",
YamahaDX7VoiceBankDriver.class, listener);
FrameWrapper bank2 =
guiHandler.openPatchEditor(table, -1, 0, listener, false);
guiHandler.cutCopyPastePatch(bank1, 0, 0, bank2, false);
bank1.table().cell(TableCell.row(0).column(0))
.requireValue(Pattern.compile("01\\s+"));
bank2.table().cell(TableCell.row(0).column(0))
.requireValue(Pattern.compile("01 test\\s+"));
guiHandler.cutCopyPastePatch(bank1, 0, 1, bank2, true);
bank1.table().cell(TableCell.row(0).column(1))
.requireValue(Pattern.compile("09 test2\\s+"));
bank2.table().cell(TableCell.row(0).column(1))
.requireValue(Pattern.compile("09 test2\\s+"));
guiHandler.closeFrame(bank1, false);
guiHandler.closeFrame(bank2, false);
guiHandler.closeLibrary(library);