@Test
	public void testSimpleAddClassAddNamespaceConflict() throws Exception {
		mtf.initialize("NotepadMergeListingTest", new ProgramModifierListener() {

			@Override
			public void modifyLatest(ProgramDB program) {
				try {
					Namespace ns;
					GhidraClass gc;
					ns = program.getSymbolTable()
							.createNameSpace(program.getGlobalNamespace(),
								"Blue", SourceType.USER_DEFINED);
					assertNotNull(ns);
					ns = program.getSymbolTable()
							.createNameSpace(program.getGlobalNamespace(),
								"Green", SourceType.USER_DEFINED);
					assertNotNull(ns);
					gc = program.getSymbolTable()
							.createClass(program.getGlobalNamespace(), "Red",
								SourceType.USER_DEFINED);
					assertNotNull(gc);
					gc = program.getSymbolTable()
							.createClass(program.getGlobalNamespace(),
								"Yellow", SourceType.USER_DEFINED);
					assertNotNull(gc);
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				try {
					Namespace ns;
					GhidraClass gc;
					gc = program.getSymbolTable()
							.createClass(program.getGlobalNamespace(), "Blue",
								SourceType.USER_DEFINED);
					assertNotNull(gc);
					gc = program.getSymbolTable()
							.createClass(program.getGlobalNamespace(), "Green",
								SourceType.USER_DEFINED);
					assertNotNull(gc);
					ns = program.getSymbolTable()
							.createNameSpace(program.getGlobalNamespace(),
								"Red", SourceType.USER_DEFINED);
					assertNotNull(ns);
					ns = program.getSymbolTable()
							.createNameSpace(program.getGlobalNamespace(),
								"Yellow", SourceType.USER_DEFINED);
					assertNotNull(ns);
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}
		});

		executeMerge(ASK_USER);
//		chooseRadioButton(RENAME_CHECKED_OUT_BUTTON_NAME); // blue
//		chooseRadioButton(REMOVE_CHECKED_OUT_BUTTON_NAME); // green
//		chooseRadioButton(RENAME_CHECKED_OUT_BUTTON_NAME); // red
//		chooseRadioButton(REMOVE_CHECKED_OUT_BUTTON_NAME); // yellow
		waitForReadTextDialog("Symbol Merge Information", "The following symbols were renamed",
			4000);
		waitForMergeCompletion();

		Namespace globalNS = resultProgram.getGlobalNamespace();
		Symbol blue = getUniqueSymbol(resultProgram, "Blue", globalNS);
		Symbol blueConflict = getUniqueSymbol(resultProgram, "Blue_conflict1", globalNS);
		Symbol green = getUniqueSymbol(resultProgram, "Green", globalNS);
		Symbol greenConflict = getUniqueSymbol(resultProgram, "Green_conflict1", globalNS);
		Symbol red = getUniqueSymbol(resultProgram, "Red", globalNS);
		Symbol redConflict = getUniqueSymbol(resultProgram, "Red_conflict1", globalNS);
		Symbol yellow = getUniqueSymbol(resultProgram, "Yellow", globalNS);
		Symbol yellowConflict = getUniqueSymbol(resultProgram, "Yellow_conflict1", globalNS);
		assertEquals(SymbolType.NAMESPACE, blue.getSymbolType());
		assertEquals(SymbolType.CLASS, blueConflict.getSymbolType());
		assertEquals(SymbolType.NAMESPACE, green.getSymbolType());
		assertEquals(SymbolType.CLASS, greenConflict.getSymbolType());
		assertEquals(SymbolType.CLASS, red.getSymbolType());
		assertEquals(SymbolType.NAMESPACE, redConflict.getSymbolType());
		assertEquals(SymbolType.CLASS, yellow.getSymbolType());
		assertEquals(SymbolType.NAMESPACE, yellowConflict.getSymbolType());
	}
Test the merge of the versioned program's symbols in the listing.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/SymbolMergeManagerNamespace1Test.java