diff --git a/Java/src/test/java/OpCodeTests.java b/Java/src/test/java/OpCodeTests.java index 1327310..61ca070 100644 --- a/Java/src/test/java/OpCodeTests.java +++ b/Java/src/test/java/OpCodeTests.java @@ -146,15 +146,23 @@ public class OpCodeTests extends ExecutableTest { @Test public void testSLP_IMD() throws ExecutionException { codeByteBuffer.put(OpCode.SLP_IMD.value); - int nextAddress = codeByteBuffer.position(); + int postSleepAddress = codeByteBuffer.position(); codeByteBuffer.put(OpCode.FIN_IMD.value); + int postFinishAddress = codeByteBuffer.position(); execute(true); assertTrue(state.getIsSleeping()); assertFalse(state.getIsFinished()); assertFalse(state.getHadFatalError()); - assertEquals("Program counter incorrect", nextAddress, state.getProgramCounter()); + assertEquals("Program counter incorrect", postSleepAddress, state.getProgramCounter()); + + execute(true); + + assertFalse(state.getIsSleeping()); + assertTrue(state.getIsFinished()); + assertFalse(state.getHadFatalError()); + assertEquals("Program counter incorrect", postFinishAddress, state.getProgramCounter()); } @Test