/// <summary> /// Hauptmethode /// </summary> public static void Run() { Console.WriteLine("\n\n----- Datenhaltung -----\n"); Console.WriteLine("--- Laden der Datenbank"); // Test der Ausnahmen vor Laden der Datenbank object dummy; CompareAndPrint(Datenbank.IstGeladen, false); ProvokeException(() => dummy = Datenbank.PeriodenIDs); ProvokeException(() => dummy = Datenbank.VolumenProMitarbeiter); ProvokeException(() => dummy = Datenbank.Durchschnittsgrößen(1)); ProvokeException(() => dummy = Datenbank.Personalkosten(1)); ProvokeException(() => dummy = Datenbank.Mitarbeiter(1)); ProvokeException(() => dummy = Datenbank.Periode(1)); ProvokeException(() => dummy = Datenbank.VolumenNeugeschäft(1)); // Test der Plausibilitätsprüfungen ProvokeException(() => Datenbank.DatenbankAuslesen(null)); ProvokeException(() => Datenbank.DatenbankAuslesen(" ")); // Test, ob der Pfad auch wirklich genutzt wird ProvokeException(() => Datenbank.DatenbankAuslesen("AA:cf4rfnu")); // Datenbank laden Datenbank.DatenbankAuslesen(_LOCATION + _DBNAME); Console.WriteLine("--- Testen der Eigenschaften"); Console.WriteLine("IstGeladen"); CompareAndPrint(Datenbank.IstGeladen, true); IsNull(typeof(Datenbank).GetProperty("IstGeladen").GetSetMethod()); Console.WriteLine("PeriodenIDs"); CompareAndPrint(Enumerable.SequenceEqual(Datenbank.PeriodenIDs, new int[] { 1, 2, 3, 4, 5 }), true); IsNull(typeof(Datenbank).GetProperty("PeriodenIDs").GetSetMethod()); Datenbank.PeriodenIDs[2] = 222; CompareAndPrint(Datenbank.PeriodenIDs[2], 3); Console.WriteLine("VolumenProMitarbeiter"); VolumenProMitarbeiter volumenProMitarbeiter = Datenbank.VolumenProMitarbeiter; CompareAndPrint(volumenProMitarbeiter.Konsumkredite, 200); CompareAndPrint(volumenProMitarbeiter.Autokredite, 150); CompareAndPrint(volumenProMitarbeiter.Hypothekenkredite, 50); CompareAndPrint(volumenProMitarbeiter.Girokonten, 900); CompareAndPrint(volumenProMitarbeiter.Spareinlagen, 1200); CompareAndPrint(volumenProMitarbeiter.Termingelder, 1200); IsNull(typeof(Datenbank).GetProperty("VolumenProMitarbeiter").GetSetMethod()); Console.WriteLine("--- Testen der Methoden"); decimal f = 1000.0M; VorgabeZeile <Durchschnittsgrößen>[] vorgabeDurchschnittsgrößen = new VorgabeZeile <Durchschnittsgrößen>[] { new VorgabeZeile <Durchschnittsgrößen>(1, new Durchschnittsgrößen(29 * f, 38 * f, 80 * f, 6 * f, 9 * f, 18 * f)), new VorgabeZeile <Durchschnittsgrößen>(2, new Durchschnittsgrößen(29 * f, 38 * f, 85 * f, 6 * f, 9 * f, 18 * f)), new VorgabeZeile <Durchschnittsgrößen>(3, new Durchschnittsgrößen(30 * f, 40 * f, 90 * f, 6 * f, 10 * f, 20 * f)), new VorgabeZeile <Durchschnittsgrößen>(4, new Durchschnittsgrößen(30 * f, 40 * f, 95 * f, 6 * f, 10 * f, 20 * f)), new VorgabeZeile <Durchschnittsgrößen>(5, new Durchschnittsgrößen(30 * f, 40 * f, 100 * f, 6 * f, 10 * f, 20 * f)) }; TestDurchführen <Durchschnittsgrößen>(vorgabeDurchschnittsgrößen, Datenbank.Durchschnittsgrößen); VorgabeZeile <Mitarbeiter>[] vorgabeMitarbeiter = new VorgabeZeile <Mitarbeiter>[] { new VorgabeZeile <Mitarbeiter>(1, new Mitarbeiter(550, 500, 410, 0.095, 5)), new VorgabeZeile <Mitarbeiter>(2, new Mitarbeiter(560, 510, 400, 0.10, 5)), new VorgabeZeile <Mitarbeiter>(3, new Mitarbeiter(560, 505, 405, 0.09, 5)), new VorgabeZeile <Mitarbeiter>(4, new Mitarbeiter(550, 500, 410, 0.095, 5)), new VorgabeZeile <Mitarbeiter>(5, new Mitarbeiter(560, 510, 400, 0.10, 5)) }; TestDurchführen <Mitarbeiter>(vorgabeMitarbeiter, Datenbank.Mitarbeiter); VorgabeZeile <Periode>[] vorgabePeriode = new VorgabeZeile <Periode>[] { new VorgabeZeile <Periode>(1, new Periode(1, new DateTime(2014, 1, 1), new DateTime(2014, 12, 31))), new VorgabeZeile <Periode>(2, new Periode(2, new DateTime(2015, 1, 1), new DateTime(2015, 12, 31))), new VorgabeZeile <Periode>(3, new Periode(3, new DateTime(2016, 1, 1), new DateTime(2016, 12, 31))), new VorgabeZeile <Periode>(4, new Periode(4, new DateTime(2017, 1, 1), new DateTime(2017, 12, 31))), new VorgabeZeile <Periode>(5, new Periode(5, new DateTime(2018, 1, 1), new DateTime(2018, 12, 31))) }; TestDurchführen <Periode>(vorgabePeriode, Datenbank.Periode); VorgabeZeile <Personalkosten>[] vorgabePersonalkosten = new VorgabeZeile <Personalkosten>[] { new VorgabeZeile <Personalkosten>(1, new Personalkosten(34000.00M, 9100.00M, 17500.00M, 470.00M)), new VorgabeZeile <Personalkosten>(2, new Personalkosten(35000.00M, 9400.00M, 18000.00M, 480.00M)), new VorgabeZeile <Personalkosten>(3, new Personalkosten(36000.00M, 9700.00M, 18500.00M, 490.00M)), new VorgabeZeile <Personalkosten>(4, new Personalkosten(37000.00M, 10000.00M, 19000.00M, 500.00M)), new VorgabeZeile <Personalkosten>(5, new Personalkosten(38000.00M, 10300.00M, 19500.00M, 510.00M)) }; TestDurchführen <Personalkosten>(vorgabePersonalkosten, Datenbank.Personalkosten); f = 10000000.0M; VorgabeZeile <VolumenNeugeschäft>[] vorgabeVolumenNeugeschäft = new VorgabeZeile <VolumenNeugeschäft>[] { new VorgabeZeile <VolumenNeugeschäft>(1, new VolumenNeugeschäft(135 * f, 100 * f, 90 * f, 130 * f, 220 * f, 110 * f)), new VorgabeZeile <VolumenNeugeschäft>(2, new VolumenNeugeschäft(150 * f, 108 * f, 100 * f, 135 * f, 240 * f, 120 * f)), new VorgabeZeile <VolumenNeugeschäft>(3, new VolumenNeugeschäft(140 * f, 110 * f, 95 * f, 140 * f, 222 * f, 115 * f)), new VorgabeZeile <VolumenNeugeschäft>(4, new VolumenNeugeschäft(135 * f, 100 * f, 90 * f, 130 * f, 220 * f, 110 * f)), new VorgabeZeile <VolumenNeugeschäft>(5, new VolumenNeugeschäft(150 * f, 108 * f, 100 * f, 135 * f, 240 * f, 120 * f)) }; TestDurchführen <VolumenNeugeschäft>(vorgabeVolumenNeugeschäft, Datenbank.VolumenNeugeschäft); Console.WriteLine("\n\n--- ERGEBNIS ---\n"); if (_errors > 0) { ColorPrint("Fehler: " + _errors.ToString(), _bad_color); } else { ColorPrint("keine Fehler", _good_color); } Console.ReadKey(); }
public NeuesMitglied(Datenbank d) { InitializeComponent(); db = d; }