Beispiel #1
0
        public static void Run()
        {
            var gumballMachine = new GumballMachineWithState(5);

            Console.WriteLine(gumballMachine);

            gumballMachine.InsertQuarter();
            gumballMachine.TurnCrank();

            Console.WriteLine(gumballMachine);

            gumballMachine.InsertQuarter();
            gumballMachine.TurnCrank();
            gumballMachine.InsertQuarter();
            gumballMachine.TurnCrank();

            Console.WriteLine(gumballMachine);

            gumballMachine.InsertQuarter();
            gumballMachine.TurnCrank();
            gumballMachine.InsertQuarter();
            gumballMachine.TurnCrank();
            gumballMachine.InsertQuarter();
            gumballMachine.TurnCrank();
            gumballMachine.InsertQuarter();
            gumballMachine.TurnCrank();
            gumballMachine.Refill(15);
            gumballMachine.InsertQuarter();
            gumballMachine.TurnCrank();
            gumballMachine.EjectQuarter();
        }
Beispiel #2
0
 public SoldOutState(GumballMachineWithState gumballMachine)
 {
     _gumballMachine = gumballMachine;
 }
Beispiel #3
0
 public HasQuarterState(GumballMachineWithState gumballMachine)
 {
     _gumballMachine = gumballMachine;
 }
Beispiel #4
0
 public WinnerState(GumballMachineWithState gumballMachine)
 {
     _gumballMachine = gumballMachine;
 }