private static void TestState() { GumballMachine gumballMachine = new GumballMachine(1); Console.WriteLine("--Chamando todos os métodos que não mudam o estado do estado atual: {0}", gumballMachine.GetState()); gumballMachine.EjectQuarter(); gumballMachine.TurnCrank(); gumballMachine.ReleaseGum(); Console.WriteLine("--Inserindo a moeda para alterar o estado."); gumballMachine.InsertQuarter(); Console.WriteLine("--{0} gomas.", gumballMachine.Count); Console.WriteLine("-----------------------------------------"); Console.WriteLine("--Chamando todos os métodos que não mudam o estado do estado atual: {0}", gumballMachine.GetState()); gumballMachine.InsertQuarter(); gumballMachine.ReleaseGum(); Console.WriteLine("--Ejetando a moeda para alterar o estado."); gumballMachine.EjectQuarter(); Console.WriteLine("--{0} gomas.", gumballMachine.Count); Console.WriteLine("-----------------------------------------"); Console.WriteLine("--Chamando todos os métodos que não mudam o estado do estado atual: {0}", gumballMachine.GetState()); gumballMachine.EjectQuarter(); gumballMachine.TurnCrank(); gumballMachine.ReleaseGum(); Console.WriteLine("--Inserindo novamente a moeda para alterar o estado."); gumballMachine.InsertQuarter(); Console.WriteLine("--{0} gomas.", gumballMachine.Count); Console.WriteLine("-----------------------------------------"); Console.WriteLine("--Chamando todos os métodos que não mudam o estado do estado atual: {0}", gumballMachine.GetState()); gumballMachine.InsertQuarter(); gumballMachine.ReleaseGum(); Console.WriteLine("--Virando a engrenagem."); gumballMachine.TurnCrank(); Console.WriteLine("--{0} gomas.", gumballMachine.Count); Console.WriteLine("-----------------------------------------"); Console.WriteLine("--Chamando todos os métodos que não mudam o estado do estado atual: {0}", gumballMachine.GetState()); gumballMachine.InsertQuarter(); gumballMachine.EjectQuarter(); gumballMachine.TurnCrank(); Console.WriteLine("--Dispensando a goma."); gumballMachine.ReleaseGum(); Console.WriteLine("--{0} gomas.", gumballMachine.Count); Console.WriteLine("-----------------------------------------"); Console.WriteLine("--Chamando todos os métodos que não mudam o estado do estado atual: {0}", gumballMachine.GetState()); gumballMachine.EjectQuarter(); gumballMachine.TurnCrank(); gumballMachine.ReleaseGum(); gumballMachine.EjectQuarter(); Console.WriteLine("--Repondo as gomas."); gumballMachine.Fill(); Console.WriteLine("--{0} gomas.", gumballMachine.Count); Console.WriteLine("-----------------------------------------"); Console.WriteLine("--Estado atual: {0}", gumballMachine.GetState()); }
private void State_Click(object sender, RoutedEventArgs e) { var gumballMachine = new GumballMachine("2004", 5); Console.WriteLine(gumballMachine); gumballMachine.InsertQuarter(); gumballMachine.TurnCrank(); Console.WriteLine(); Console.WriteLine(gumballMachine); gumballMachine.InsertQuarter(); gumballMachine.EjectQuarter(); gumballMachine.TurnCrank(); Console.WriteLine(); Console.WriteLine(gumballMachine); gumballMachine.InsertQuarter(); gumballMachine.TurnCrank(); gumballMachine.InsertQuarter(); gumballMachine.TurnCrank(); gumballMachine.EjectQuarter(); Console.WriteLine(); Console.WriteLine(gumballMachine); gumballMachine.InsertQuarter(); gumballMachine.InsertQuarter(); gumballMachine.TurnCrank(); gumballMachine.InsertQuarter(); gumballMachine.TurnCrank(); gumballMachine.InsertQuarter(); gumballMachine.TurnCrank(); Console.WriteLine(); Console.WriteLine(gumballMachine); gumballMachine.Fill(1); gumballMachine.InsertQuarter(); gumballMachine.TurnCrank(); }