Exemplo n.º 1
0
        //Konstruktor
        public Form1()
        {
            InitializeComponent();
            //ListBox mit Werten befüllen
            #region Automatisiertes Hinzufügen der Enum_Werte
            //foreach (var item in Enum.GetValues(typeof(KaffeemaschinenArten)))
            //{
            //    listBoxKaffeemaschine.Items.Add(item);
            //}
            #endregion Automatisierte Variante

            listBoxKaffeemaschine.Items.Add(KaffeemaschinenArten.Filtermaschine);
            listBoxKaffeemaschine.Items.Add(KaffeemaschinenArten.PadMaschine);
            listBoxKaffeemaschine.Items.Add(KaffeemaschinenArten.Vollautomat);

            //Kaffeemaschinen erzeugen
            _filtermaschine = new FilterMaschine("Filtermaschine", 1000, 1000);
            _padmaschine    = new PadMaschine("Padmaschine", 1000);
            _vollautomat    = new Vollautomat("Vollautomat", 1000, 1000, 1000);

            //EventHandler für Bedienungsfehler-Event registrieren
            _filtermaschine.Bedienungsfehler += Bedienungsfehler_Handler;
            _padmaschine.Bedienungsfehler    += Bedienungsfehler_Handler;
            _vollautomat.Bedienungsfehler    += Bedienungsfehler_Handler;

            //EventHandler für FehlerFall-Event registrieren
            FehlerFall += Bedienungsfehler_Handler;

            //1. Bestellung
            BestelleNeuenKaffee();
        }
Exemplo n.º 2
0
        public void TesteWasserstand()
        {
            PadMaschine padmaschine = new PadMaschine("Pad1", 1000);

            padmaschine.Wasserstand += 500;
            Assert.AreEqual(500, padmaschine.Wasserstand);

            Vollautomat vollmaschine = new Vollautomat("Milch", 1000, 500, 500);

            vollmaschine.Milchstand += 600;
            Assert.AreEqual(vollmaschine.Milchkapazität, vollmaschine.Milchstand);


            //Polymorphie
            Kaffeemaschine kaffeemaschine = new FilterMaschine("Filter1", 1000, 1000);

            kaffeemaschine.Wasserstand += 2000;
            if (kaffeemaschine.Wasserstand > kaffeemaschine.Wasserkapazität)
            {
                Assert.Fail();
            }

            //Kaffeestand testen
            FilterMaschine filtermaschine = (FilterMaschine)kaffeemaschine;

            filtermaschine.Kaffeestand += 1200;
            if (filtermaschine.Kaffeestand > filtermaschine.Kaffeekapazität)
            {
                Assert.Fail();
            }


            Kaffeemaschine[] maschinen = new Kaffeemaschine[] { padmaschine, vollmaschine, filtermaschine };

            foreach (Kaffeemaschine maschine in maschinen)
            {
                Console.WriteLine(maschine.Wasserstand);
                //prüft auf FIltermaschine oder abgeleitete Klasse davon (Vollautomat)
                if (maschine is FilterMaschine)
                {
                    FilterMaschine fm = (FilterMaschine)maschine;
                    Console.WriteLine(fm.Kaffeestand);
                }

                //prüft nur auf Filtermaschine
                if (maschine.GetType() == typeof(FilterMaschine))
                {
                }
            }
        }
Exemplo n.º 3
0
        public void TestMilchbefüllung()
        {
            Vollautomat testautomat = new Vollautomat("XYZ");

            //3 Behälter mit jeweils einem Liter Fassungsvermögen
            testautomat.BaueMilchbehälterEin(3);
            testautomat.BefülleMilchContainer(2500);
            if (testautomat.Milchcontainer[0].Milchfüllstand != 1000)
            {
                Assert.Fail();
            }

            Assert.AreEqual(1000, testautomat.Milchcontainer[1].Milchfüllstand);
            Assert.AreEqual(500, testautomat.Milchcontainer[2].Milchfüllstand);
        }
Exemplo n.º 4
0
        private void button7Milch_Click(object sender, EventArgs e)
        {
            //nur Vollautomaten können Milch befüllen
            if (!(aktuelleMaschine is Vollautomat))
            {
                return;
            }

            int zubefüllendeMenge = 0;

            try
            {
                zubefüllendeMenge = int.Parse(textBoxMilch.Text);
            }
            catch (OverflowException)
            {
                MessageBox.Show("So viel Milch braucht kein Mensch!");
                return;
            }
            catch (FormatException)
            {
                MessageBox.Show("Deine eingegebene Milchmenge ist keine gültige ganze Zahl!");
                return;
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
                return;
            }
            //Wird sogar dann ausgeführt, wenn die Methode im Try-Catch-Block abgebrochen wird
            finally
            {
                textBoxBohnen.Focus();
                textBoxBohnen.SelectAll();
            }

            Vollautomat vollautomat = (Vollautomat)aktuelleMaschine;

            vollautomat.BefülleMilchContainer(zubefüllendeMenge);
            labelMaschinenBeschreibung.Text = aktuelleMaschine.ToString();
        }
Exemplo n.º 5
0
        //Konstruktor
        public Form1()
        {
            InitializeComponent();

            random = new Random();
            listboxKaffeemaschine.Items.Add(Kaffeearten.Filterkaffee);
            listboxKaffeemaschine.Items.Add(Kaffeearten.Espresso);
            listboxKaffeemaschine.Items.Add(Kaffeearten.Cappuccino);

            espressoMaschine   = new PadMaschine("Nespresso");
            cappuccinoMaschine = new Vollautomat("Cappu-Deluxe");
            cappuccinoMaschine.BaueMilchbehälterEin(3, 300);
            filterkaffeeMaschine = new MahlMaschine("Melitta");

            //Event-Registrierung
            espressoMaschine.Störung     += StörungsBehandlung;
            cappuccinoMaschine.Störung   += StörungsBehandlung;
            filterkaffeeMaschine.Störung += StörungsBehandlung;

            labelCountdown.Text = COUNTDOWN_START.ToString();

            //Erste Bestellung erstellen
            NeueBestellungErstellen();
        }