public void TestReturnProcedure() { var cpu = new CPU(); cpu.StackPush(10 << 2); var instructionAdd = new ReturnProcedure("rp", 0); cpu.AddInstruction(instructionAdd); cpu.RunClock(); Assert.AreEqual("rp", instructionAdd.GetFetch(), false); cpu.RunClock(); Assert.AreEqual("RP: ", instructionAdd.GetDecode(), false); //Jump should have been taken Assert.AreEqual(10 << 2, cpu.GetPC()); }