Exemplo n.º 1
0
        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);
            }
        }