@Test
	public void testRemoveNSRenameFunctionConflict() throws Exception {
		// *** NotepadMergeListingTest ***
		// Global
		//		FirstClass
		//			FUN_01005887
		//			FUN_010058b8
		//		SecondClass
		//			FUN_01005320
		//			FUN_010062f0
		//		EmptyClass
		//		FirstNamespace
		//			FUN_0100194b
		//			FUN_01004bc0
		//		SecondNamespace
		//			FUN_01002239
		//			SubClass
		//				FUN_01004a5e
		//				FUN_01004c30
		//			SubNamespace
		//				FUN_010053c6
		//		EmptyNamespace

		mtf.initialize("NotepadMergeListingTest", new ProgramModifierListener() {

			@Override
			public void modifyLatest(ProgramDB program) {
				try {
					SymbolTable symtab = program.getSymbolTable();
					Symbol firstNsSym =
						getUniqueSymbol(program, "FirstNamespace", program.getGlobalNamespace());
					symtab.removeSymbolSpecial(firstNsSym);
					Function f = getFunction(program, "0x1002239");
					f.setName("Stuff", SourceType.USER_DEFINED);
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				try {
					SymbolTable symtab = program.getSymbolTable();
					Symbol secondNsSym =
						getUniqueSymbol(program, "SecondNamespace", program.getGlobalNamespace());
					symtab.removeSymbolSpecial(secondNsSym);
					Function f = getFunction(program, "0x100194b");
					f.setName("Junk", SourceType.USER_DEFINED);
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}
		});

		executeMerge(ASK_USER);
		chooseRadioButton(CHECKED_OUT_BUTTON_NAME);
		chooseRadioButton(LATEST_BUTTON_NAME);
		waitForReadTextDialog("Symbol Merge Information",
			"The following namespaces were not removed", 4000);
		waitForMergeCompletion();

		Symbol firstNsSymbol =
			getUniqueSymbol(resultProgram, "FirstNamespace", resultProgram.getGlobalNamespace());
		assertNotNull(firstNsSymbol);
		Namespace firstNamespace = (Namespace) firstNsSymbol.getObject();
		assertNotNull(firstNamespace);
		Symbol secondNsSymbol =
			getUniqueSymbol(resultProgram, "SecondNamespace", resultProgram.getGlobalNamespace());
		assertNotNull(secondNsSymbol);
		Namespace secondNamespace = (Namespace) secondNsSymbol.getObject();
		assertNotNull(secondNamespace);

		Symbol sym;
		sym = getUniqueSymbol(resultProgram, "Stuff", secondNamespace);
		assertNotNull(sym);
		assertEquals(addr("0x1002239"), sym.getAddress());

		sym = getUniqueSymbol(resultProgram, "Junk", firstNamespace);
		assertNotNull(sym);
		assertEquals(addr("0x100194b"), sym.getAddress());
	}
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