@Test
	public void testCorrectOperandConstantParam_X86_64() throws Exception {

		builder = new ProgramBuilder("thunk", ProgramBuilder._X64, "gcc", this);

		// PUSH     RBP
		// MOV      RBP,RSP
		// MOV      EDI,s_STRING_%s_%s_00040100
		// MOV      EAX,0x0
		// CALL     FUN_0004003d
		// LEAVE
		// RET

		builder.setBytes("0x00040000",
			"55 48 89 e5 bf 00 01 04 00 b8 00 00 00 00 66 67 e8 2a 00 c9 c3");

		builder.setBytes("0x00040100", "53 54 52 49 4e 47 20 25 73 20 25 73 0a 00 00");

		builder.disassemble("0x00040000", 21);

		analyzer = new ConstantPropagationAnalyzer();

		program = builder.getProgram();
		program.startTransaction("Test");

		Address codeStart = addr("0x00040000");
		Listing listing = program.getListing();
		assertNotNull("Bad instruction disassembly", listing.getInstructionAt(codeStart));

		AddressSet addressSet = new AddressSet(codeStart, codeStart.add(21));
		analyze(addressSet);

		Instruction instr = listing.getInstructionAt(addr("0x00040004"));
		assertNoOperandReference(0, instr);
		assertOperandReferenceTo(1, instr, addr("0x00040100"));
	}
quick and dirty test of the ProgramContextImpl just to see
if the values are being set for specified address range.
The ProgramContextPlugin will be a more complete test
program, with a gui interface to specify the values and
select/highlight an address range.
Ghidra/Features/Base/src/test/java/ghidra/program/util/ConstantPropogationReferenceTest.java