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

			@Override
			public void modifyLatest(ProgramDB program) {
				try {
					SymbolTable symtab = program.getSymbolTable();
					symtab.createClass(program.getGlobalNamespace(), "NewLatestClass",
						SourceType.USER_DEFINED);
					symtab.createClass(program.getGlobalNamespace(), "NewSameClass",
						SourceType.USER_DEFINED);
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				try {
					SymbolTable symtab = program.getSymbolTable();
					symtab.createClass(program.getGlobalNamespace(), "NewMyClass",
						SourceType.USER_DEFINED);
					symtab.createClass(program.getGlobalNamespace(), "NewSameClass",
						SourceType.USER_DEFINED);
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}
		});

		resultProgram = mtf.getResultProgram();
		resultAddressFactory = resultProgram.getAddressFactory();

		executeMerge(ASK_USER);
		waitForMergeCompletion();

		assertEquals(SymbolType.CLASS,
			getUniqueSymbol(resultProgram, "NewLatestClass").getSymbolType());
		assertEquals(SymbolType.CLASS,
			getUniqueSymbol(resultProgram, "NewMyClass").getSymbolType());
		assertEquals(SymbolType.CLASS,
			getUniqueSymbol(resultProgram, "NewSameClass").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