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);
 }