protected void manipulateMnemonicSettings(boolean testDefaultSetting, boolean insideStruct,
			boolean commonStruct, Data data1, Data data2) throws Exception {

		assertSame(data1.getDataType(), data2.getDataType());

		boolean settingsAreShared =
			testDefaultSetting && (!insideStruct || (insideStruct && commonStruct));

		String[] settingNames = new String[] { "Mnemonic-style" };

		useDefaultSettings();

		DataType dt = data1.getDataType();
		if (dt instanceof Array) {
			dt = ((Array) dt).getDataType();
			data1 = data1.getComponent(0);
			data2 = data2.getComponent(0);
		}

		// Currently only supported by integer types
		assertTrue(dt instanceof AbstractIntegerDataType);

		AbstractIntegerDataType intDt = (AbstractIntegerDataType) dt;
		String defaultMnemonic = intDt.getDisplayName();
		String assemblyMnemonic = intDt.getAssemblyMnemonic(); // this is the real default setting
		String cMnemonic = intDt.getCMnemonic();

		assertEquals(assemblyMnemonic, data1.getMnemonicString());
		assertEquals(assemblyMnemonic, data2.getMnemonicString());

		changeSettings(testDefaultSetting, settingNames, new String[] { "C" });
		assertEquals(settingsAreShared ? cMnemonic : assemblyMnemonic, data1.getMnemonicString());
		assertEquals(cMnemonic, data2.getMnemonicString());

		changeSettings(testDefaultSetting, settingNames, new String[] { "assembly" });

		assertEquals(assemblyMnemonic, data1.getMnemonicString());
		assertEquals(assemblyMnemonic, data2.getMnemonicString());

		changeSettings(testDefaultSetting, settingNames, new String[] { "default" });

		assertEquals(settingsAreShared ? defaultMnemonic : assemblyMnemonic,
			data1.getMnemonicString());
		assertEquals(defaultMnemonic, data2.getMnemonicString());

	}
Test MNEMONIC data setting
@param testDefaultSetting if true test default setting, else test instance setting for data2
@param insideStruct data are inside two structure instances
@param commonStruct data structures are the same type
@param data1 data at some location with same type as data2
@param data2 data at current location
@throws Exception
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/data/AbstractDataActionTest.java