@Test
	public void testDnDCopyFolderNotInView2Folder() throws Exception {
		// drag/copy a folder not in the view to a folder in the view.
		// verify that the view updates to show the copied folder

		ProgramNode funcNode = root.getChild("Functions");
		// set the view to Functions
		setViewPaths(funcNode);
		AddressSetView origSet = funcNode.getModule().getAddressSet();

		// select Subroutines (not in the view)
		ProgramNode subrNode = root.getChild("Subroutines");

		setSelectionPath(subrNode);

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

		assertTrue(plugin.getView().hasSameAddresses(funcNode.getModule().getAddressSet()));
		undo();
		assertTrue(plugin.getView().hasSameAddresses(origSet));
		redo();
		ProgramNode node = root.getChild("Functions");// Functions
		assertTrue(plugin.getView().hasSameAddresses(node.getModule().getAddressSet()));
	}
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