@Test
	public void testCopyMultiSelection() throws Exception {

		ProgramNode node = (ProgramNode) root.getChildAt(6);// Functions
		ProgramNode cnode1 = (ProgramNode) node.getChildAt(0);
		ProgramNode cnode2 = (ProgramNode) node.getChildAt(1);
		setSelectionPaths(cnode1, cnode2);
		assertTrue(copyAction.isEnabled());
		performTreeAction(copyAction);
		// create a new module and paste fragments there
		tx(program, () -> {
			root.getModule().createModule("Test");
		});

		ProgramNode destNode = (ProgramNode) root.getChildAt(root.getChildCount() - 1);

		setSelectionPath(destNode);
		assertTrue(pasteAction.isEnabled());
		performTreeAction(pasteAction);
		waitForProgram(program);

		visitNode(destNode);
		assertEquals(2, destNode.getChildCount());
	}
Tests for cut/copy/paste in the Program tree.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/programtree/ProgramTreePlugin2Test.java