Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }