public void SetMachineInHasQuarterStateWhenInsertQuarter() { var machine = new TestGumballMachine(); var state = new NoQuarterState(machine); state.InsertQuarter(); Assert.AreEqual((Enums.State)machine.State, Enums.State.HasQuarter); }
public void SetMachineInSoldStateWhenTurnCrank() { var machine = new TestGumballMachine(); var state = new HasQuarterState(machine); state.TurnCrank(); Assert.AreEqual((Enums.State)machine.State, Enums.State.Sold); }
public void SetGumballMachineInNoQuarterStateIfCallDispenseWithMoreThan1BallsInMachine() { var machine = new TestGumballMachine(); uint ballsAmount = 2; machine.BallsCount = ballsAmount; var state = new SoldState(machine); state.Dispense(); Assert.AreEqual((uint)1, machine.BallsCount); Assert.AreEqual((Enums.State)machine.State, Enums.State.NoQuarter); }
public void SetGumballMachineInSoldOutStateIfCallDispenseWith1BallInMachine() { var machine = new TestGumballMachine(); uint ballsAmount = 1; machine.BallsCount = ballsAmount; var state = new SoldState(machine); state.Dispense(); Assert.AreEqual((uint)0, machine.BallsCount); Assert.AreEqual((Enums.State)machine.State, Enums.State.SoldOut); }