@Test
	public void testReorderFolder() throws Exception {

		// expand Strings folder

		ProgramNode stringsNode = root.getChild("Strings");
		expandNode(stringsNode);

		// drag "L" and place it after "CC"
		ProgramNode lnode = stringsNode.getChild("L");
		ProgramNode cnode = stringsNode.getChild("CC");
		setSelectionPath(lnode);

		moveNode(cnode, lnode);

		String[] names = new String[] { "CC", "L", "G", "S" };
		for (int i = 0; i < names.length; i++) {
			assertEquals(names[i], stringsNode.getChildAt(i).toString());
		}
		ProgramNode node = stringsNode.getChild("L");
		assertTrue(tree.isPathSelected(node.getTreePath()));
		undo();
		stringsNode = root.getChild("Strings");
		String[] origNames = new String[] { "CC", "G", "S", "L" };
		for (int i = 0; i < origNames.length; i++) {
			assertEquals(origNames[i], stringsNode.getChildAt(i).toString());
		}

		redo();
		stringsNode = root.getChild("Strings");
		for (int i = 0; i < names.length; i++) {
			assertEquals(names[i], stringsNode.getChildAt(i).toString());
		}

	}
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