Example #1
0
        /// <summary>
        /// Methode FuehreImmerGleicheSchritteDurch() greift auf model und view zu, um Berechnungen
        /// Ein- und Ausgaben durchzuführen
        /// </summary>
        ///
        // diese Schritte sind laufen immer ab, unabhängig von 1. oder nachfolgender Eingabe
        public void FuehreImmerGleicheSchritteDurch()
        {
            // Berechnungen durchführen
            model.Berechne();

            // Ausgabe vom Ergebnis aus der Berechnung
            view.GibResultatAus();

            // Nächsten Wert holen oder 'FERTIG' für Beenden
            view.HoleFortlaufendeEingabenVomBenutzer();
        }
Example #2
0
        public void Ausführen()
        {
            console.HoleErsteBenutzerEingaben();
            do
            {
                model.Berechne();

                console.GebeResultatAus();
                console.HoleWeitereBenutzerEingabe();
            } while (!console.BenutzerWillBeenden);
        }
        public void Berechne_Subtraktion_Ergibt()
        {
            RechnerModel model = new RechnerModel();

            model.Operation  = "-";
            model.ErsteZahl  = 100.50;
            model.ZweiteZahl = 200.50;

            model.Berechne();
            Assert.AreEqual(-100, model.Resultat);
        }
        public void Berechne_Multiplikation_Ergibt()
        {
            RechnerModel model = new RechnerModel();

            model.Operation  = "*";
            model.ErsteZahl  = 112.21;
            model.ZweiteZahl = 3;

            model.Berechne();
            Assert.AreEqual(336.63, model.Resultat);
        }
        public void Berechne_Addition_Ergibt()
        {
            RechnerModel model = new RechnerModel();

            model.Operation  = "+";
            model.ErsteZahl  = 112.21;
            model.ZweiteZahl = 10.50;

            model.Berechne();
            Assert.AreEqual(122.71, model.Resultat);
        }
        public void BerechneTest_DivisionDurchNull_ergibtZero()
        {
            RechnerModel model = new RechnerModel();

            model.Operation  = "/";
            model.ErsteZahl  = 10;
            model.ZweiteZahl = 0;

            model.Berechne();

            Assert.AreEqual(0, model.Resultat);
        }
Example #7
0
        public void Berechne_DivisiondurchNull_ErgibtUnendlich()
        {
            RechnerModel model = new RechnerModel {
                ErsteZahl  = -10,
                Operation  = "/",
                ZweiteZahl = 0
            };

            model.Berechne();

            Assert.IsTrue(model.Resultat == double.PositiveInfinity || model.Resultat == double.NegativeInfinity);
        }
        public void Berechne_DivisionDurchNull_ErgibtUnendlich()
        {
            RechnerModel model = new RechnerModel();

            model.Operation  = "/";
            model.ErsteZahl  = 10;
            model.ZweiteZahl = 0;

            model.Berechne();

            Assert.AreEqual(Double.PositiveInfinity, model.Resultat);
        }
Example #9
0
 public void Test_Berechne_FalscherOperator()
 {
     // Arrange
     model.Operation  = "x";
     model.ErsteZahl  = 8;
     model.ZweiteZahl = 4;
     // Act
     try
     {
         model.Berechne();
     }
     catch (ArgumentException ex)
     {
         //Assert
         Assert.AreEqual("Gültige Operatoren sind (+ | - | * | / )", ex.Message);
         throw;
     }
 }
Example #10
0
        public void Ausfuehren()
        {
            view.HoleEingabenFuerBerechnungVomBenutzer(true);
            //model.Berechne();
            //view.GibResultatAus();
            //view.HoleEingabenFuerBerechnungVomBenutzer();

            while (!(model.AktuellerStatus == Status.BeendigungDurchBenutzer))
            {
                model.Berechne();
                view.GibResultatAus();
                view.HoleEingabenFuerBerechnungVomBenutzer();
            }
        }
        [TestMethod()]  ///Attribute um testmethode zu erstellen
                        ///Die Änderungen an der Datei Taschenrechner.sln zeigen was Visual Studio an der Solution ändert um das neue Projekt für die Unittests
                        ///(TaschenrechnerTests) hinzuzufügen.
                        ///
                        ///public void Berechne_DivisionDurchNull_ergibtNaN()  // NaN = Not A Number
        public void Berechne_DivisionDurchNull_ergibtUnendlich()
        {
            //als erstes die Klassen und Methoden vorbereiten
            RechnerModel model = new RechnerModel();

            //dann die gebrauchten Parameter, in diesem Fall Zahlen und Operation
            model.Operation  = "/";
            model.ErsteZahl  = 10;
            model.ZweiteZahl = 0;

            // und das was wir ausfuehren bzw testen wollen
            model.Berechne();

            /// Assert ist ein Objekt die viele Methoden hat um Resultat zu UEberpruefen
            /// oft wird AreEquel benutzt um das erwartete wert mit den Ergebniss von unsere Methode zu vergleichen.
            ///Assert.AreEqual(Double.NaN, model.Resultat);
            Assert.AreEqual(Double.PositiveInfinity, model.Resultat);
            // es ergab error, beim Lehrer Beispiel hat es direkt geklappt (ich hatte schon das durch null vermieden.
            // Assert.AreEqual(0, model.Resultat);
        }