@Test
	public void testDnDFragInView2FolderNotInView() throws Exception {
		// drag a fragment in the view to a collapsed folder not in the view
		// verify that the collapsed folder indicates a descendant in the view
		// verify that the view contains the moved fragment

		//create scenario
		copyFolderOrFragment("DLLs", "Everything");

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

		// drag .data to DLLs

		// select DLLs in Everything
		ProgramNode evNode = root.getChild("Everything");
		visitNode(evNode);
		ProgramNode dllsNode = evNode.getChild("DLLs");
		visitNode(dllsNode);
		setSelectionPath(dllsNode);

		ProgramNode dragNode = dataNode;
		dragNodes_Move(dllsNode, Arrays.asList(dragNode));

		// first occurrence of DLLs should have icon for descendant in view
		ProgramNode[] nodes = findNodes("DLLs");
		int row = getRowForPath(nodes[0].getTreePath());

		Component comp = getCellRendererComponentForNonLeaf(nodes[0], row);
		assertEquals(new GIcon(DnDTreeCellRenderer.VIEWED_CLOSED_FOLDER_WITH_DESC),
			((JLabel) comp).getIcon());

		visitNode(nodes[0]);
		dataNode = nodes[0].getChild(".data");
		assertTrue(plugin.getView().hasSameAddresses(dataNode.getFragment()));

	}
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