public void DivideThreeNumbers() { var displayMock = Substitute.For<Display>(); var sut = new RpnCalc(displayMock); sut.Pressed(10.0); sut.Enter(); sut.Pressed(2.0); sut.Divide(); sut.Pressed(2.0); sut.Divide(); displayMock.Received(2).Show(10.0); displayMock.Received(2).Show(2.0); displayMock.Received(1).Show(5.0); displayMock.Received(1).Show(2.5); }
public void DivideOneNumberWithoutEnter() { var displayMock = Substitute.For<Display>(); var sut = new RpnCalc(displayMock); sut.Pressed(1.0); sut.Divide(); displayMock.Received(1).Show(1.0); displayMock.Received(1).Show(0.0); }
public void DividingTwiceAfterEnterWasPressed() { var displayMock = Substitute.For<Display>(); var sut = new RpnCalc(displayMock); sut.Pressed(3.0); sut.Enter(); sut.Pressed(2.0); sut.Enter(); sut.Divide(); sut.Divide(); sut.Divide(); Assert.Throws<RpnCalc.DivisionException>(sut.Divide); displayMock.Received(1).Show(1.0); displayMock.Received(3).Show(3.0); displayMock.Received(1).Show(0.0); }
public void DivideTwoNumbersHavingAVeryLargeQuotientAndRoundItToTwoDigits() { var displayMock = Substitute.For<Display>(); var sut = new RpnCalc(displayMock); sut.Pressed(2.0); sut.Enter(); sut.Pressed(9.0); sut.Divide(); displayMock.Received(2).Show(2.0); displayMock.Received(1).Show(9.0); displayMock.Received(1).Show(0.22); }