public void AndPerformsALogicalAndOnTheTopTwoValues() { stackManipulation.Expect(x => x.Peek()).Repeat.Once().Return(1); stackManipulation.Expect(x => x.Peek()).Repeat.Once().Return(0); operators.And(); stackManipulation.AssertWasCalled(x => x.Push(Arg <int> .Is.Equal(0))); }
public void EqualPushesTheEqualityOfTheTopTwoElements() { int value = 10; stackManipulation.Expect(x => x.Peek()).Repeat.Twice().Return(value); relationalOperators.Equal(); stackManipulation.AssertWasCalled(x => x.Push(Arg <int> .Is.Equal(1))); }
public void AddAddsTheTopTwoValuesOnTheStack() { stackManipulation.Expect(x => x.Peek()).Repeat.Once().Return(5); stackManipulation.Expect(x => x.Peek()).Repeat.Once().Return(15); operators.Add(); stackManipulation.AssertWasCalled(x => x.Push(Arg <int> .Is.Equal(20))); }
public void PrintWritesTheTopOfTheStackToTheConsole() { int expected = 10; stackManipulation.Expect(x => x.Peek()).Repeat.Once().Return(expected); output.Print(); stackManipulation.AssertWasCalled(x => x.Pop()); }