Beispiel #1
0
        public void Erstelle_Transaktion_aus_Typ(string[] args, TransaktionTyp erwartet, string[] erwartetArgs)
        {
            Tuple <Transaktion, string[]> result = ArgumentVerarbeiter.Erstelle_Transaktion_aus_Typ(args);

            Assert.That(result.Item1.Typ, Is.EqualTo(erwartet));
            Assert.That(result.Item2, Is.EqualTo(erwartetArgs));
        }
Beispiel #2
0
        public void Erstelle_Datum_aus_Eingabeparameter_Erwarte_Erfolg()
        {
            string[] args   = new string[] { "12", "2019" };
            var      result = ArgumentVerarbeiter.Erstelle_Datum_aus_Eingabeparameter(args);

            Assert.That(result, Is.EqualTo(new DateTime(2019, 12, 01)));
        }
        public void ErmittlePfad_Erwarte_Pfad(string[] args, int a)
        {
            var verarbeiter = new ArgumentVerarbeiter();
            var result      = verarbeiter.Ermittle_Pfad(args);

            var dir = Path.GetDirectoryName(typeof(ArgumentVerarbeiterTests).Assembly.Location);

            Assert.That(result, Is.EqualTo($"{dir}{Path.DirectorySeparatorChar}{args[0]}"));
        }
Beispiel #4
0
        public void Ergaenze_Datum_korrektes_Datum_Erwarte_Erfolg(string testDatum, string erwartetesDatum)
        {
            Transaktion t = new Transaktion();

            string[] datumTemp = new string[] { "a", "b" };

            var werte = ArgumentVerarbeiter.Ergaenze_Datum(t, datumTemp);

            Assert.That(werte.Item1.ZahlungsDatum, Is.EqualTo(DateTime.Parse(erwartetesDatum)));
        }
Beispiel #5
0
        public Uebersicht Uebersicht(string[] args)
        {
            DateTime           Datum                   = ArgumentVerarbeiter.Erstelle_Datum_aus_Eingabeparameter(args);
            List <Transaktion> alleTransaktionen       = _respository.Lade_alle_Transaktionen_vor_und_aus_dem_Zeitraum(Datum);
            List <Kategorie>   alleKategorien          = Rechner.Ermittle_alle_Kategorien(Datum, alleTransaktionen);
            decimal            kategorienKassenbestand = Rechner.Ermittle_Kassenbestand_der_Kategorie(alleTransaktionen);
            Uebersicht         uebergabeUebersicht     = new Uebersicht(Datum, alleKategorien, kategorienKassenbestand);

            return(uebergabeUebersicht);
        }
        public void Teste_Parameter_Datum_auslesen_erfolgreich(string[] inputArgs, string erwartet)
        {
            var transaktion = new Transaktion();

            ArgumentVerarbeiter verarbeiter = new ArgumentVerarbeiter();

            verarbeiter.Parameter_Datum_auslesen(inputArgs, transaktion);

            Assert.That(transaktion.Datum, Is.EqualTo(DateTime.Parse((erwartet))));
        }
        public void Lese_Eingabeparameter_ohneArgument_Erwarte_Erfolg(string[] args, int a)
        {
            var verarbeiter = new ArgumentVerarbeiter();
            var result      = verarbeiter.Lese_Eingabeparameter(args);

            var dir = Path.GetDirectoryName(typeof(ArgumentVerarbeiterTests).Assembly.Location);

            Assert.That(result, Is.EqualTo($"{dir}{Path.DirectorySeparatorChar}{args[0]}"));

            Assert.That(Status.Instanz.Seitenlaenge.Lade(), Is.EqualTo(Konstanten.StandardSeitenlaenge));
        }
        public void ErmittlePfad_KeineDatei_Erwarte_Exception(string[] args, string erwartet)
        {
            var verarbeiter = new ArgumentVerarbeiter();

            Exception ex = Assert.Throws(typeof(FileNotFoundException),
                                         () =>
            {
                var result = verarbeiter.Ermittle_Pfad(args);
            });

            Assert.That(ex.Message, Is.EqualTo(erwartet));
        }
        public void ParameterDatumAuslesen_ungueltiges_Datum_Erwarte_DateTimeNow(string[] inputArgs, string x)
        {
            var transaktion = new Transaktion();

            ArgumentVerarbeiter verarbeiter = new ArgumentVerarbeiter();

            verarbeiter.Parameter_Datum_auslesen(inputArgs, transaktion);

            Assert.That(transaktion.Datum.Year, Is.EqualTo(DateTime.Now.Year));
            Assert.That(transaktion.Datum.Month, Is.EqualTo(DateTime.Now.Month));
            Assert.That(transaktion.Datum.Day, Is.EqualTo(DateTime.Now.Day));
        }
Beispiel #10
0
 public void Ist_Uebersicht_Kommando_Erwarte_einzahlung()
 {
     string[] args = new string[] { "einzahlung", "5,99" };
     ArgumentVerarbeiter.Ist_Uebersicht_Kommando(args,
                                                 onIstUebersicht: (argsUebersicht) =>
     {
         Assert.Fail("Uebersichtskommando erkannt");
     },
                                                 onIstEinAuszahlung: (argsEinAuszahlung) =>
     {
         Assert.That(argsEinAuszahlung, Is.EqualTo(args));
         Assert.That(argsEinAuszahlung.First(), Is.EqualTo("einzahlung"));
     }
                                                 );
 }
Beispiel #11
0
        public void Ist_Uebersicht_Kommando_Erwarte_uebersicht_und_kuerzeres_args()
        {
            bool wasCalled = false;

            ArgumentVerarbeiter.Ist_Uebersicht_Kommando(new string[] { "übersicht", "12", "2019" },
                                                        onIstUebersicht: (argsUebersicht) =>
            {
                wasCalled = true;
                Assert.That(argsUebersicht, Is.EqualTo(new string[] { "12", "2019" }));
            },
                                                        onIstEinAuszahlung: (argsEinAuszahlung) =>
            {
                Assert.Fail("Ein-/Auszahlung erkannt");
            }
                                                        );

            Assert.True(wasCalled);
        }
Beispiel #12
0
 public void Start(string[] args, Action <decimal> ausgangFuerEinzahlung, Action <decimal, Kategorie> ausgangFuerAuszahlung, Action <Uebersicht> onUebersicht)
 {
     ArgumentVerarbeiter.Ist_Kommando_Uebersicht(                // 0
         args: args,
         onIstUebersicht: (argsUebersicht) => {                  // 1        Variablenname : ankommender Rückgabewert
         Uebersicht uebersicht = Uebersicht(argsUebersicht);     // 3 = 2    (Methodenaufruf(Übergabeparameter)
         onUebersicht(uebersicht);                               //          Methodenaufruf raus (Übergabewert)
     },
         onIstTransaktion: (argsTranksaktion) => {
         Zahlung(argsTranksaktion,
                 onAuszahlung: (ausgangFuerAuszahlung),
                 onEinzahlung: (kassenbestand) => {
             ausgangFuerEinzahlung(kassenbestand);
         }
                 );
     }
         );
 }
Beispiel #13
0
        public void Erstelle_Transaktion_aus_Eingabeparameter_Erwarte_Erfolg()
        {
            Transaktion erwartet = new Transaktion(TransaktionTyp.Auszahlung)
            {
                Betrag    = new Money(700),
                Datum     = new DateTime(2015, 1, 1),
                Kategorie = "Miete",
                Memotext  = "Beispieltext 123",
            };
            var args = new string[] { "auszahlung", "01.01.2015", "700", "Miete", "Beispieltext 123" };

            var result = ArgumentVerarbeiter.Erstelle_Transaktion_aus_Eingabeparameter(args);

            Assert.That(result.Betrag, Is.EqualTo(erwartet.Betrag));
            Assert.That(result.Datum, Is.EqualTo(erwartet.Datum));
            Assert.That(result.Kategorie, Is.EqualTo(erwartet.Kategorie));
            Assert.That(result.Memotext, Is.EqualTo(erwartet.Memotext));
            Assert.That(result.Typ, Is.EqualTo(erwartet.Typ));
        }
Beispiel #14
0
        public void Zahlung(string[] args, Action <decimal, Kategorie> onAuszahlung, Action <decimal> onEinzahlung)
        {
            Transaktion transaktion = ArgumentVerarbeiter.Erstelle_Transaktion_aus_Eingabe(args);

            _respository.Speichern(transaktion);
            List <Transaktion> alleTransaktionen = _respository.Lade_alle_Transaktionen();

            TypErmittler.Ermittle_Typ(
                transaktion.Typ,
                onIstAuszahlung: () => {                                                                                                        // 1        Variablenname : ankommender Rückgabewert
                Kategorie kategorie  = Rechner.Ermittle_Kategorie(transaktion.ZahlungsDatum, transaktion.Kategorie, alleTransaktionen);         // 3 = 2    (Methodenaufruf(Übergabeparameter)
                decimal kassebestand = Rechner.Kassenbestand_ermitteln(alleTransaktionen);                                                      //          Methodenaufruf raus (Übergabewert)

                onAuszahlung(kassebestand, kategorie);
            },
                onIstEinzahlung: () => {
                decimal kassenbestand = Rechner.Kassenbestand_ermitteln(alleTransaktionen);
                onEinzahlung(kassenbestand);
            }
                );
        }