@Test
	public void testGetCodeUnitSettingsDifferences() throws Exception {

		p1.withTransaction("Apply p1 Data", () -> {

			// NOTE: unknown settings will be dropped

			Data d1 = DataUtilities.createData(p1, addr(p1, 0x1008014), StringDataType.dataType, -1,
				ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);
			CharsetSettingsDefinition.CHARSET.setChoice(d1, 2); // differs from p2

			d1 = DataUtilities.createData(p1, addr(p1, 0x1008028), StringDataType.dataType, -1,
				ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);
			CharsetSettingsDefinition.CHARSET.setChoice(d1, 3); // same as p2

		});

		p2.withTransaction("Apply p2 Data", () -> {

			DataUtilities.createData(p2, addr(p2, 0x1008014), StringDataType.dataType, -1,
				ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);

			Data d2 = DataUtilities.createData(p2, addr(p2, 0x1008028), StringDataType.dataType, -1,
				ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);
			CharsetSettingsDefinition.CHARSET.setChoice(d2, 3); // same as p1

		});

		AddressSet as = new AddressSet();
		as.addRange(addr(p1, 0x1008000), addr(p1, 0x10085ff));
		programDiff = new ProgramDiff(p1, p2, as);
		programDiff.setFilter(new ProgramDiffFilter(ProgramDiffFilter.CODE_UNIT_DIFFS));

		AddressSetView diffAs = programDiff.getDifferences(programDiff.getFilter(), null);

		AddressSet addrSet = new AddressSet();
		addrSet.addRange(addr(p1, 0x1008014), addr(p1, 0x1008015));

		assertEquals(addrSet, diffAs);
	}
Test that ProgramDiff can determine the code unit differences between
Program1 and Program2 where Data Settings differ.
Ghidra/Features/Base/src/test.slow/java/ghidra/program/util/ProgramDiff1Test.java