public void Execute_WhenFlagTrue_ShouldSetProgramCounterToValue() { ushort expectedProgramCounter = 0x3141; FlagsMock.SetupGet(f => f.GreaterThan).Returns(true); var sut = CreateSut(expectedProgramCounter); sut.Execute(CpuMock.Object); RegistersMock.VerifySet(reg => reg.ProgramCounter = expectedProgramCounter); }
public void Execute_WhenFlagFalse_ShouldNotSetProgramCounter() { ushort expectedProgramCounter = 0x3141; FlagsMock.SetupGet(f => f.GreaterThan).Returns(false); var sut = CreateSut(expectedProgramCounter); sut.Execute(CpuMock.Object); RegistersMock.VerifySet(reg => reg.ProgramCounter = expectedProgramCounter, Times.Never); }
public void Execute_WhenInvoked_ShouldSetFlagsCorrectly(int lvalue, int rvalue, bool eq, bool lt, bool gt) { // CMP r1, 0xNNNN byte leftRegister = 1; RegistersMock.SetupGet(r => r[leftRegister]).Returns((ushort)lvalue); var sut = CreateSut(leftRegister, (ushort)rvalue); sut.Execute(CpuMock.Object); FlagsMock.VerifySet(f => f.Equal = eq); FlagsMock.VerifySet(f => f.GreaterThan = gt); FlagsMock.VerifySet(f => f.LessThan = lt); }