public void StayMachineInHasQuarterStateWhenInsertQuarter() { var machine = new TestGumballMachine(); machine.SetHasQuarterState(); machine.GetQuartersController().InsertQuarter(); var state = new HasQuarterState(machine); state.InsertQuarter(); Assert.IsTrue(machine.GetQuartersController().HasQuarters()); Assert.AreEqual(machine.GetQuartersController().GetQuartersCount(), (uint)2); Assert.AreEqual(machine.State, State.HasQuarter); }
public void StayMachineInHasQuarterStateWhenRefillIt() { { var machine = new TestGumballMachine(); machine.SetHasQuarterState(); machine.BallsCount = 1; var state = new HasQuarterState(machine); state.Refill(1); Assert.AreEqual(machine.GetBallCount(), (uint)2); Assert.AreEqual(machine.State, State.HasQuarter); } { var machine = new TestGumballMachine(); machine.SetHasQuarterState(); machine.BallsCount = 1; var state = new HasQuarterState(machine); state.Refill(0); Assert.AreEqual(machine.GetBallCount(), (uint)1); Assert.AreEqual(machine.State, State.HasQuarter); } }