@Test
	public void testCopyPasteToDataType_DifferentType() throws Exception {

		String miscName = "MISC";
		CategoryNode miscNode = (CategoryNode) programNode.getChild(miscName);
		expandNode(miscNode);

		String dtName = "ArrayStruct";
		DataTypeNode miscStructureNode = (DataTypeNode) miscNode.getChild(dtName);
		selectNode(miscStructureNode);

		DockingActionIf copyAction = getAction(plugin, "Copy");
		assertTrue(copyAction.isEnabledForContext(treeContext));
		assertFalse(pasteAction.isEnabledForContext(treeContext));

		DataTypeTestUtils.performAction(copyAction, tree);

		DataTypeNode miscUnionNode = (DataTypeNode) miscNode.getChild("ArrayUnion");
		selectNode(miscUnionNode);
		assertTrue(pasteAction.isEnabledForContext(treeContext));

		DataTypeTestUtils.performAction(pasteAction, tree);

		GTreeNode newNode = miscNode.getChild("Copy_1_of_" + dtName);
		assertNotNull(newNode);
	}
Tests copy/paste/drag/drop operations
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/datamgr/DataTypeCopyMoveDragTest.java