@Test
	public void testApplyDataDifference1() throws Exception {

		// 0x01003ac8: same size and named struct with different components.

		Structure struct_a1 = new StructureDataType("struct_a", 0);
		struct_a1.add(new ByteDataType());
		struct_a1.add(new DWordDataType());
		programBuilder1.applyDataType("0x01003ac8", struct_a1, 1);

		Structure struct_a2 = new StructureDataType("struct_a", 0);
		struct_a2.add(new CharDataType());
		struct_a2.add(new DWordDataType());
		programBuilder2.applyDataType("0x01003ac8", struct_a2, 1);

		programMerge = new ProgramMergeManager(p1, p2);
		assertEquals(new AddressSet(addr(0x01003ac8), addr(0x01003acc)),
			programMerge.getFilteredDifferences());
		mergeCodeUnitDifference(0x01003ac8, 0x01003acc);
		// Will result in a conflict named copy.
		assertEquals(new AddressSet(addr(0x01003ac8), addr(0x01003acc)),
			programMerge.getFilteredDifferences());
	}
Test that programMerge can apply a conflicting data type difference in
Program1 and Program2.
Ghidra/Features/Base/src/test.slow/java/ghidra/program/util/ProgramMerge3Test.java