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

			@Override
			public void modifyLatest(ProgramDB program) {
				//Empty
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				try {
					SymbolTable symtab = program.getSymbolTable();
					Symbol s = getGlobalSymbol(program, "0x1002721", "XXX");
					s.setName("XYZ", SourceType.USER_DEFINED);
					assertTrue(s.isPrimary());
					symtab.createLabel(addr(program, "0x1002721"), "XXX", SourceType.USER_DEFINED);
					assertTrue(s.isPrimary());
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}
		});

		executeMerge(ASK_USER);
		waitForMergeCompletion();

		SymbolTable symtab = resultProgram.getSymbolTable();
		Symbol[] symbols = symtab.getSymbols(addr("0x1002721"));
		Comparator<Symbol> c = SymbolUtilities.getSymbolNameComparator();
		Arrays.sort(symbols, c);
		assertEquals(2, symbols.length);
		checkSymbol(symbols[0], "XXX", true);
		checkSymbol(symbols[1], "XYZ", true);
		assertTrue(!symbols[0].isPrimary());
		assertTrue(symbols[1].isPrimary());
	}
Test a conflict between a global namespace symbol being removed in
one program (LATEST or CHECKED OUT) and its name changed in the other.
@throws Exception
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/SymbolMergeManager1Test.java