@Test
	public void testDnDCopyFolder2Folder() throws Exception {
		// drag/copy a folder onto another folder that does not contain
		// the folder.
		// Verify that all occurrences of the dest folder are updated with
		// the new child.
		// Verify that the original parent folder remains intact.

		ProgramNode dragNode = root.getChild("Functions");
		ProgramNode destNode = root.getChild("DLLs");
		int childCount = destNode.getChildCount();

		setSelectionPath(dragNode);

		// drag/copy Functions to DLLs
		ProgramNode tgtNode = destNode;
		dragNodes_Copy(tgtNode, Arrays.asList(dragNode));

		assertEquals(childCount + 1, destNode.getChildCount());
		ProgramNode node = (ProgramNode) destNode.getChildAt(childCount);
		assertEquals("Functions", node.getName());

		undo();
		destNode = root.getChild("DLLs");
		assertEquals(childCount, destNode.getChildCount());
		redo();
		destNode = root.getChild("DLLs");
		assertEquals(childCount + 1, destNode.getChildCount());
		node = (ProgramNode) destNode.getChildAt(childCount);
		assertEquals("Functions", node.getName());

	}
Tests for drag/drop/reorder for copy and move in the program tree.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/programtree/ProgramTreePlugin3Test.java