@Test
	public void testOpenVersionDoubleClick() throws Exception {

		// create 3 versions of the program
		doCreateVersions();

		DomainFileNode node = getNode(PROGRAM_A);
		selectNode(node);
		final DockingActionIf historyAction = getAction("Show History");
		runSwing(() -> historyAction.actionPerformed(getDomainFileActionContext(node)));

		VersionHistoryDialog dialog = waitForDialogComponent(VersionHistoryDialog.class);

		GTable table = findComponent(dialog, GTable.class);
		runSwing(() -> table.selectRow(0));

		VersionHistoryPanel panel = findComponent(dialog, VersionHistoryPanel.class);

		VersionHistoryTableModel tm = panel.getVersionHistoryTableModel();
		Version version = runSwing(() -> tm.getVersionAt(0));

		Rectangle rect = table.getCellRect(0, 0, true);
		final MouseEvent event = new MouseEvent(table, MouseEvent.MOUSE_CLICKED,
			System.currentTimeMillis(), 0, rect.x, rect.y, 2, false, MouseEvent.BUTTON1);

		runSwing(() -> {
			MouseListener[] mls = table.getMouseListeners();
			for (final MouseListener ml : mls) {
				ml.mouseClicked(event);
				if (event.isConsumed()) {
					break;
				}
			}
		});

		waitForSwing();

		List<PluginTool> tools = frontEnd.getTools();
		assertEquals(1, tools.size());

		DomainFile[] dfs = tools.get(0).getDomainFiles();
		assertEquals(1, dfs.length);

		assertTrue(dfs[0].isReadOnly());
		assertEquals(version.getVersion(), dfs[0].getVersion());

		runSwing(() -> dialog.close());

	}
Tests for version control (not multi user).
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/framework/main/datatree/VersionControlAction1Test.java