Exemple #1
0
        public void TestParsingUndBerechnung()
        {
            //Test-Driven-Development
            //Der selbe Unit-Test muss auch für alle abgeleiteten Klassen von Parser oder Rechner funktionieren (Liskovsches Substitutionsprinzip)
            IParser  parser  = new Parser();
            IFormel  formel  = parser.Parse("5/1");
            IRechner rechner = new FlexRechner();

            Assert.AreEqual(5, rechner.Rechne(formel));
        }
        static void Main(string[] args)
        {
            //Bootstrapping
            IParser  parser  = new Parser();
            IRechner rechner = new FlexRechner();

            //evtl. Plugins importierenm per Reflection
            Console.Write("Bitte geben Sie die Aufgabe ein: ");

            //Dateneingabe
            string aufgabe = Console.ReadLine();

            //Parsen
            IFormel formel = parser.Parse(aufgabe);

            //Berechnung
            double ergebnis = rechner.Rechne(formel);

            //Aufgabne
            Console.WriteLine($"\nErgebnis: {ergebnis}");

            Console.ReadKey();
        }