public void SetMachineInNoQuarterStateWhenRefillItWithMoreThan0Balls() { var machine = new TestGumballMachine(); var state = new SoldOutState(machine); state.Refill(1); Assert.AreEqual(machine.GetBallCount(), (uint)1); Assert.AreEqual(machine.State, State.NoQuarter); }
public void StayMachineInSoldOutStateWhenRefillItWith0Balls() { var machine = new TestGumballMachine(); var state = new SoldOutState(machine); machine.SetSoldOutState(); state.Refill(0); Assert.AreEqual(machine.GetBallCount(), (uint)0); Assert.AreEqual(machine.State, State.SoldOut); }
public void StayMachineInNoQuarterStateWhenRefillIt() { { var machine = new TestGumballMachine(); machine.SetNoQuarterState(); machine.BallsCount = 1; var state = new NoQuarterState(machine); state.Refill(1); Assert.AreEqual(machine.GetBallCount(), (uint)2); Assert.AreEqual(machine.State, State.NoQuarter); } { var machine = new TestGumballMachine(); machine.SetNoQuarterState(); machine.BallsCount = 1; var state = new NoQuarterState(machine); state.Refill(0); Assert.AreEqual(machine.GetBallCount(), (uint)1); Assert.AreEqual(machine.State, State.NoQuarter); } }
public void CantRefillMachine() { { var machine = new TestGumballMachine(); machine.SetSoldState(); machine.BallsCount = 1; var state = new SoldState(machine); state.Refill(1); Assert.AreEqual(machine.GetBallCount(), (uint)1); Assert.AreEqual(machine.State, State.Sold); } { var machine = new TestGumballMachine(); machine.SetSoldState(); machine.BallsCount = 1; var state = new SoldState(machine); state.Refill(0); Assert.AreEqual(machine.GetBallCount(), (uint)1); Assert.AreEqual(machine.State, State.Sold); } }