@Test
	public void testDndFrag2Folder() throws Exception {
		// drag a fragment onto a folder that does not contain the fragment
		// verify that the fragment's parent is updated
		// verify that a drop is not allowed if the folder already contains
		// the fragment.

		ProgramNode dataNode = root.getChild(".data");

		ProgramNode subrNode = root.getChild("Subroutines");
		visitNode(subrNode);
		setSelectionPath(subrNode);

		dragNodes_Move(subrNode, Arrays.asList(dataNode));

		ProgramNode[] nodes = findNodes(".data");
		for (ProgramNode element : nodes) {
			assertTrue(element.getParent() != root);
		}
		boolean found = false;
		for (ProgramNode element : nodes) {
			if (element.getParent() == subrNode) {
				found = true;
				break;
			}
		}
		if (!found) {
			Assert.fail("Did not find new parent of .data");
		}
	}
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