public override void TrageEinIn(KalenderJahr dasJahr) { if (dasJahr.Jahreszahl() != _datum.Year) { return; } dasJahr.GibMonate()[_datum.Month-1].GibTage()[_datum.Day-1].TrageEin(this, GibEintragText(dasJahr)); }
public void EintraegeInTageszeilenAusgabe() { KalenderJahr jahr = new KalenderJahr(2012); List<Eintrag> meineEintraege = Eintrag.LeseEintraegeAusDatei("testfixtures/testeintraege.xml"); jahr.TrageEin(ref meineEintraege); int eingabemodus = 4; //XXX: das sollte nicht nötig sein Ausgabe ausgabe = new TageszeilenAusgabe(ref jahr, eingabemodus, true); ausgabe.setzeTestModus(true); ausgabe.gibAus(); StreamReader streamReader = new StreamReader(ausgabe.DateiName); string text = streamReader.ReadToEnd(); streamReader.Close(); Assert.IsTrue(text.Length > 0, "Ausgabe ist leer"); Assert.IsTrue(text.IndexOf("2012") > -1, "Jahreszahl kommt nicht vor"); int positionJanGeburtstag = text.IndexOf("Januar Geburtstag"); int positionDezGeburtstag = text.IndexOf("Dezember Geburtstag"); int positionTermin = text.IndexOf("Termin"); Assert.IsTrue(positionJanGeburtstag > -1, "JanuarGeburtstag ist nicht eingetragen"); Assert.IsTrue(positionDezGeburtstag > -1, "DezemberGeburtstag ist nicht eingetragen"); Assert.IsTrue(positionTermin > -1, "Termin ist nicht eingetragen"); Assert.IsTrue(text[positionJanGeburtstag-4] == '3' && text[positionJanGeburtstag-3] == '0', "JanuarGeburtstag steht an der falschen Stelle"); Assert.IsTrue(text[positionDezGeburtstag-4] == '3' && text[positionDezGeburtstag-3] == '0', "DezemberGeburtstag steht an der falschen Stelle"); Assert.IsTrue(text[positionTermin-4] == '2' && text[positionTermin-3] == '3', "Termin steht an der falschen Stelle"); int positionFebruar = text.IndexOf(HilfsKonstrukte.monatsNamen[1]); int positionMaerz = text.IndexOf(HilfsKonstrukte.monatsNamen[2]); Assert.IsTrue(positionTermin > positionFebruar && positionTermin < positionMaerz, "Termin steht an der falschen Stelle"); }
public void TageszeilenAusgabe() { KalenderJahr jahr = new KalenderJahr(2012); int eingabemodus = 3; //XXX: das sollte nicht nötig sein Ausgabe ausgabe = new TageszeilenAusgabe(ref jahr, eingabemodus, false); ausgabe.setzeTestModus(true); ausgabe.gibAus(); StreamReader streamReader = new StreamReader(ausgabe.DateiName); string text = streamReader.ReadToEnd(); streamReader.Close(); Assert.IsTrue(text.Length > 0, "Ausgabe ist leer"); Assert.IsTrue(text.IndexOf("2012") > -1, "Jahreszahl fehlt"); int positionFebruar = text.IndexOf(HilfsKonstrukte.monatsNamen[1]); int positionMaerz = text.IndexOf(HilfsKonstrukte.monatsNamen[2]); Assert.IsTrue(positionFebruar > -1, "Februar-Markierung fehlt"); Assert.IsTrue(positionMaerz > -1, "März-Markierung fehlt"); Assert.IsTrue(positionFebruar < positionMaerz); //pruefe ob Februar 29 Tage hat Assert.IsTrue(text.IndexOf("29",positionFebruar) < positionMaerz, "29 fehlt im Februar"); //pruefe ob Linie nach Sonntag int positionSO = text.IndexOf(HilfsKonstrukte.wochenTagNamenKurz[6], positionMaerz); positionSO = text.IndexOf('\n', positionSO); //bis zur nächstenZeile Assert.AreEqual(text.IndexOf("-------------", positionSO), positionSO + 1); //pruefeWochentag 1.12. int wochenTag1201 = jahr.GibMonate()[11].GibTage()[0].GibWochentag(); string wochenTagAlsString = HilfsKonstrukte.wochenTagNamenKurz[wochenTag1201]; int positionDezember = text.IndexOf(HilfsKonstrukte.monatsNamen[11]); positionDezember = text.IndexOf('\n', positionDezember); Assert.AreEqual(text.IndexOf(wochenTagAlsString, positionDezember), positionDezember + 1); }
public void Tag() { KalenderJahr jahr = new KalenderJahr(2012); Assert.AreEqual(jahr.GibMonate()[0].GibTage().Count, 31); Assert.AreEqual(jahr.GibMonate()[0].GibTage()[0].GibIndex(), 1); Assert.AreEqual(jahr.GibMonate()[0].GibTage()[30].GibIndex(), 31); }
public void KalenderJahr() { KalenderJahr jahr = new KalenderJahr(2012); Assert.AreEqual(jahr.GibMonate().Count, HilfsKonstrukte.MONATE_IM_JAHR); Assert.AreEqual(jahr.IstSchaltjahr(), true); Assert.AreEqual(jahr.GibTage().Count, HilfsKonstrukte.TAGE_IM_JAHR + 1); }
public override void TrageEinIn(KalenderJahr dasJahr) { if (dasJahr.Jahreszahl() != _datum.Year) { return; } dasJahr.GibMonate()[_datum.Month - 1].GibTage()[_datum.Day - 1].TrageEin(this, GibEintragText(dasJahr)); }
public override string GibEintragText(KalenderJahr dasJahr) { string start = "Geburtstag "; if (_geburtsjahr != 0) { return(start + GibTitel() + " (" + (dasJahr.Jahreszahl() - _geburtsjahr) + ")"); } return(start + GibTitel()); }
public void Geburtstag() { List <Eintrag> meineEintraege = Eintrag.LeseEintraegeAusDatei("testfixtures/testeintraege.xml"); KalenderJahr jahr2012 = new KalenderJahr(2012); jahr2012.TrageEin(ref meineEintraege); //Angabe des Jahrs ist nicht nötig Assert.AreEqual(jahr2012.GibMonate()[11].GibTage()[30].EintraegeAlsString(), "Geburtstag Aisha"); //korrekte Anzeige des Alters Assert.AreEqual(jahr2012.GibMonate()[3].GibTage()[29].EintraegeAlsString(), "Geburtstag Barbara (" + (2012 - 1918) + ")"); }
public override void TrageEinIn(KalenderJahr dasJahr) { List <Tag> tageImMonat = dasJahr.GibMonate()[_monat - 1].GibTage(); int index = tageImMonat.Count - 1; Tag letzterTag = tageImMonat[index]; while (letzterTag.GibWochentag() != _wochentag) { index--; letzterTag = tageImMonat[index]; } letzterTag.TrageEin(this, GibEintragText(dasJahr)); }
public void StartWochentage() { KalenderJahr jahr = new KalenderJahr(2012); Assert.AreEqual(jahr.StartWochenTag(), 6); jahr = new KalenderJahr(1583); Assert.AreEqual(jahr.StartWochenTag(), 5); jahr = new KalenderJahr(1899); Assert.AreEqual(jahr.StartWochenTag(), 6); jahr = new KalenderJahr(1900); Assert.AreEqual(jahr.StartWochenTag(), 0); jahr = new KalenderJahr(1981); Assert.AreEqual(jahr.StartWochenTag(), 3); }
public void Monat() { KalenderJahr jahr = new KalenderJahr(2012); Assert.AreEqual(jahr.GibMonate()[0].GibTage().Count, 31); Assert.AreEqual(jahr.GibMonate()[1].GibTage().Count, 29); Assert.AreEqual(jahr.GibMonate()[2].GibTage().Count, 31); Assert.AreEqual(jahr.GibMonate()[3].GibTage().Count, 30); Assert.AreEqual(jahr.GibMonate()[0].GibIndex(), 0); Assert.AreEqual(jahr.GibMonate()[HilfsKonstrukte.MONATE_IM_JAHR - 1].GibIndex(), HilfsKonstrukte.MONATE_IM_JAHR - 1); Tag fakeTag = new Tag(32, 0, 32); jahr.GibMonate()[0].FuegeTagAn(ref fakeTag); Assert.AreEqual(jahr.GibMonate()[0].GibTage().Count, 32); }
public void Schaltjahre() { KalenderJahr jahr = new KalenderJahr(2012); Assert.AreEqual(jahr.IstSchaltjahr(), true); jahr = new KalenderJahr(2011); Assert.AreEqual(jahr.IstSchaltjahr(), false); jahr = new KalenderJahr(1900); Assert.AreEqual(jahr.IstSchaltjahr(), false); jahr = new KalenderJahr(1984); Assert.AreEqual(jahr.IstSchaltjahr(), true); jahr = new KalenderJahr(2000); Assert.AreEqual(jahr.IstSchaltjahr(), true); jahr = new KalenderJahr(2100); Assert.AreEqual(jahr.IstSchaltjahr(), false); }
public void JaehrlichesEreignisAnFestemTermin() { List <Eintrag> meineEintraege = Eintrag.LeseEintraegeAusDatei("testfixtures/testeintraege.xml"); KalenderJahr jahr2012 = new KalenderJahr(2012); jahr2012.TrageEin(ref meineEintraege); Assert.AreEqual(jahr2012.GibMonate()[0].GibTage()[29].EintraegeAlsString(), "Januar Geburtstag"); //teste, ob auch in anderem Jahr eingetragen KalenderJahr jahr2013 = new KalenderJahr(2013); jahr2013.TrageEin(ref meineEintraege); Assert.AreEqual(jahr2013.GibMonate()[0].GibTage()[29].EintraegeAlsString(), "Januar Geburtstag"); Assert.IsTrue(jahr2012.GibMonate()[1].GibTage()[28].EintraegeAlsString().Contains("Schaltjahr Geburtstag"), "Schaltjahr Geburtstag wurde nicht korrekt eingetragen"); //jaehrliche Ereignisse werden auf den 28ten übertragen Assert.IsTrue(jahr2013.GibMonate()[1].GibTage()[27].EintraegeAlsString().Contains("Schaltjahr Geburtstag"), "jaehrlicher Termine am Schalttag wurde nicht korrekt auf den 28ten übetragen"); }
public void EinmaligerTermin() { List <Eintrag> meineEintraege = Eintrag.LeseEintraegeAusDatei("testfixtures/testeintraege.xml"); KalenderJahr jahr2012 = new KalenderJahr(2012); jahr2012.TrageEin(ref meineEintraege); Assert.AreEqual(jahr2012.GibMonate()[1].GibTage()[22].EintraegeAlsString(), "Termin"); //teste, ob nicht in anderem Jahr eingetragen KalenderJahr jahr2013 = new KalenderJahr(2013); jahr2013.TrageEin(ref meineEintraege); Assert.AreEqual(jahr2013.GibMonate()[1].GibTage()[22].EintraegeAlsString(), ""); Assert.IsTrue(jahr2012.GibMonate()[1].GibTage()[28].EintraegeAlsString().Contains("Schalttagtermin"), "Schalttagtermin wurde nicht korrekt eingetragen"); //Eimalige Termine sollen nicht auf den 28ten übertragen werden sondern als nicht valide ignoriert werden Assert.IsFalse(jahr2013.GibMonate()[1].GibTage()[27].EintraegeAlsString().Contains("Schalttagtermin"), "Einmalige Termine wurde auf den 28ten übetragen, soll aber als nicht valide gelten"); }
public override void TrageEinIn(KalenderJahr dasJahr) { List <Tag> tageImMonat = dasJahr.GibMonate()[_monat - 1].GibTage(); int index = 0; Tag ersterTag = tageImMonat[index]; while (ersterTag.GibWochentag() != _wochentag) { index++; ersterTag = tageImMonat[index]; } index = index + (_n - 1) * HilfsKonstrukte.TAGE_PRO_WOCHE; if (index >= tageImMonat.Count) { return; } Tag nterTag = tageImMonat[index]; nterTag.TrageEin(this, GibEintragText(dasJahr)); }
public void TageszeilenAusgabe() { KalenderJahr jahr = new KalenderJahr(2012); int eingabemodus = 3; //XXX: das sollte nicht nötig sein Ausgabe ausgabe = new TageszeilenAusgabe(ref jahr, eingabemodus, false); ausgabe.setzeTestModus(true); ausgabe.gibAus(); StreamReader streamReader = new StreamReader(ausgabe.DateiName); string text = streamReader.ReadToEnd(); streamReader.Close(); Assert.IsTrue(text.Length > 0, "Ausgabe ist leer"); Assert.IsTrue(text.IndexOf("2012") > -1, "Jahreszahl fehlt"); int positionFebruar = text.IndexOf(HilfsKonstrukte.monatsNamen[1]); int positionMaerz = text.IndexOf(HilfsKonstrukte.monatsNamen[2]); Assert.IsTrue(positionFebruar > -1, "Februar-Markierung fehlt"); Assert.IsTrue(positionMaerz > -1, "März-Markierung fehlt"); Assert.IsTrue(positionFebruar < positionMaerz); //pruefe ob Februar 29 Tage hat Assert.IsTrue(text.IndexOf("29", positionFebruar) < positionMaerz, "29 fehlt im Februar"); //pruefe ob Linie nach Sonntag int positionSO = text.IndexOf(HilfsKonstrukte.wochenTagNamenKurz[6], positionMaerz); positionSO = text.IndexOf('\n', positionSO); //bis zur nächstenZeile Assert.AreEqual(text.IndexOf("-------------", positionSO), positionSO + 1); //pruefeWochentag 1.12. int wochenTag1201 = jahr.GibMonate()[11].GibTage()[0].GibWochentag(); string wochenTagAlsString = HilfsKonstrukte.wochenTagNamenKurz[wochenTag1201]; int positionDezember = text.IndexOf(HilfsKonstrukte.monatsNamen[11]); positionDezember = text.IndexOf('\n', positionDezember); Assert.AreEqual(text.IndexOf(wochenTagAlsString, positionDezember), positionDezember + 1); }
public void EintraegeInTageszeilenAusgabe() { KalenderJahr jahr = new KalenderJahr(2012); List <Eintrag> meineEintraege = Eintrag.LeseEintraegeAusDatei("testfixtures/testeintraege.xml"); jahr.TrageEin(ref meineEintraege); int eingabemodus = 4; //XXX: das sollte nicht nötig sein Ausgabe ausgabe = new TageszeilenAusgabe(ref jahr, eingabemodus, true); ausgabe.setzeTestModus(true); ausgabe.gibAus(); StreamReader streamReader = new StreamReader(ausgabe.DateiName); string text = streamReader.ReadToEnd(); streamReader.Close(); Assert.IsTrue(text.Length > 0, "Ausgabe ist leer"); Assert.IsTrue(text.IndexOf("2012") > -1, "Jahreszahl kommt nicht vor"); int positionJanGeburtstag = text.IndexOf("Januar Geburtstag"); int positionDezGeburtstag = text.IndexOf("Dezember Geburtstag"); int positionTermin = text.IndexOf("Termin"); Assert.IsTrue(positionJanGeburtstag > -1, "JanuarGeburtstag ist nicht eingetragen"); Assert.IsTrue(positionDezGeburtstag > -1, "DezemberGeburtstag ist nicht eingetragen"); Assert.IsTrue(positionTermin > -1, "Termin ist nicht eingetragen"); Assert.IsTrue(text[positionJanGeburtstag - 4] == '3' && text[positionJanGeburtstag - 3] == '0', "JanuarGeburtstag steht an der falschen Stelle"); Assert.IsTrue(text[positionDezGeburtstag - 4] == '3' && text[positionDezGeburtstag - 3] == '0', "DezemberGeburtstag steht an der falschen Stelle"); Assert.IsTrue(text[positionTermin - 4] == '2' && text[positionTermin - 3] == '3', "Termin steht an der falschen Stelle"); int positionFebruar = text.IndexOf(HilfsKonstrukte.monatsNamen[1]); int positionMaerz = text.IndexOf(HilfsKonstrukte.monatsNamen[2]); Assert.IsTrue(positionTermin > positionFebruar && positionTermin < positionMaerz, "Termin steht an der falschen Stelle"); }
public static int Main(string[] args) { bool debug = false; int eingabejahr = 0; int eingabemodus = 0; if (args.Length == 0) //Wenn keine Argumente übergeben werden Anzeige Normaler Start { Console.WriteLine("Normaler Programm Start"); debug = false; } else { if (args[0] == "debug") //Wenn Argument übergeben worden, prüfen ob debug erwünscht ist { Console.WriteLine("Programm Start mit debug Mode. Anzahl der übergebenen Parameter: " + args.Length); debug = true; } } Console.WriteLine("Das Programm berechnet Kalender für die Jahre 1583 bis 4000"); Console.Write("Jahr eingeben: "); bool eingabeOk = false; do { string eingabe = Console.ReadLine(); //erstmal als string speichern, damit auch eigegebene Buchstaben kein Problem sind if (!int.TryParse(eingabe, out eingabejahr)) { Console.WriteLine("Falsche Eingabe, da Buchstaben nicht möglich sind."); } else if ((eingabejahr < 1583) || (eingabejahr > 4000)) { Console.WriteLine("Falsche Eingabe. Jahr ist nicht im gueltigen Bereich."); } else { eingabeOk = true; } if (!eingabeOk) { Console.Write("Bitte geben sie das Jahr erneut ein: "); } } while (!eingabeOk); Console.Write("Soll die Ausgabe \n1) Monatsblock einspaltig oder\n2) Monatsblock zweispaltig oder\n3) Zeilenweise oder\n4) Zeilenweise mit Eintraegen oder\n5) gelatexed oder\n6) als HTML sein? "); eingabeOk = false; do { string eingabe = Console.ReadLine(); if (!int.TryParse(eingabe, out eingabemodus)) { Console.WriteLine("Falsche Eingabe, da Buchstaben nicht möglich sind."); } else if ((eingabemodus < 1) || (eingabemodus > 6)) { Console.WriteLine("Falsche Eingabe. Modus ist nicht im gueltigen Bereich."); } else { eingabeOk = true; } if (!eingabeOk) { Console.Write("Bitte geben sie den Modus erneut ein: "); } } while (!eingabeOk); Console.WriteLine(""); //Eintrag Experimente List <Eintrag> eintraege = leseEintraege(debug); //Aufruf der leseEintraege Funktion mit Übergabe der debug Variablen KalenderJahr kalenderJahr = new KalenderJahr(eingabejahr); kalenderJahr.TrageEin(ref eintraege); Ausgabe ausgabe = null; switch (eingabemodus) { case 1: ausgabe = new MonatsBlockAusgabe(ref kalenderJahr, eingabemodus); break; case 2: ausgabe = new MonatsBlockAusgabe2Spaltig(ref kalenderJahr, eingabemodus); break; case 3: ausgabe = new TageszeilenAusgabe(ref kalenderJahr, eingabemodus, false); break; case 4: ausgabe = new TageszeilenAusgabe(ref kalenderJahr, eingabemodus, true); break; case 5: ausgabe = new LatexTageszeilenAusgabe(ref kalenderJahr); break; case 6: ausgabe = new htmlTageszeilenAusgabe(ref kalenderJahr); break; } ausgabe.gibAus(); #if DEBUG if (debug) { ausgabeTest(eingabejahr, eingabemodus, debug); //Aufruf der Testfunktion mit Übergabe der debug Variable } #endif //Erwartet Eingabe vor Beendigung des Programms Console.ReadLine(); return(0); } //ende main()
public Ausgabe(ref KalenderJahr dasJahr, int eingabemodus) //Konstruktor der Klasse Ausgabe, übergibt zwei int werte von main.cs Datei an ausgabe.cs { _jahr = dasJahr; _modus = eingabemodus; }
public override void TrageEinIn(KalenderJahr dasJahr) { int korrigierterTag = HilfsKonstrukte.Korrigiere29zu28inNichtSchaltjahrFebruar(dasJahr.Jahreszahl(), _monat, _tag); dasJahr.GibMonate()[_monat - 1].GibTage()[korrigierterTag - 1].TrageEin(this, GibEintragText(dasJahr)); }
public htmlTageszeilenAusgabe(ref KalenderJahr dasJahr) : base(ref dasJahr, 6) { }
public void JaehrlichesEreignisAnFestemTermin() { List<Eintrag> meineEintraege = Eintrag.LeseEintraegeAusDatei("testfixtures/testeintraege.xml"); KalenderJahr jahr2012 = new KalenderJahr(2012); jahr2012.TrageEin(ref meineEintraege); Assert.AreEqual(jahr2012.GibMonate()[0].GibTage()[29].EintraegeAlsString(), "Januar Geburtstag"); //teste, ob auch in anderem Jahr eingetragen KalenderJahr jahr2013 = new KalenderJahr(2013); jahr2013.TrageEin(ref meineEintraege); Assert.AreEqual(jahr2013.GibMonate()[0].GibTage()[29].EintraegeAlsString(), "Januar Geburtstag"); Assert.IsTrue(jahr2012.GibMonate()[1].GibTage()[28].EintraegeAlsString().Contains("Schaltjahr Geburtstag"), "Schaltjahr Geburtstag wurde nicht korrekt eingetragen"); //jaehrliche Ereignisse werden auf den 28ten übertragen Assert.IsTrue(jahr2013.GibMonate()[1].GibTage()[27].EintraegeAlsString().Contains("Schaltjahr Geburtstag"), "jaehrlicher Termine am Schalttag wurde nicht korrekt auf den 28ten übetragen"); }
public virtual string GibEintragText(KalenderJahr dasJahr) { return(GibTitel()); }
public override void TrageEinIn(KalenderJahr dasJahr) { List<Tag> tageImMonat = dasJahr.GibMonate()[_monat-1].GibTage(); int index = tageImMonat.Count-1; Tag letzterTag = tageImMonat[index]; while (letzterTag.GibWochentag() != _wochentag) { index--; letzterTag = tageImMonat[index]; } letzterTag.TrageEin(this, GibEintragText(dasJahr)); }
public static int Main(string[] args) { bool debug = false; int eingabejahr = 0; int eingabemodus = 0; if (args.Length == 0) //Wenn keine Argumente übergeben werden Anzeige Normaler Start { Console.WriteLine("Normaler Programm Start"); debug = false; } else { if (args[0] == "debug") //Wenn Argument übergeben worden, prüfen ob debug erwünscht ist { Console.WriteLine("Programm Start mit debug Mode. Anzahl der übergebenen Parameter: " + args.Length); debug = true; } } Console.WriteLine("Das Programm berechnet Kalender für die Jahre 1583 bis 4000"); Console.Write("Jahr eingeben: "); bool eingabeOk = false; do { string eingabe = Console.ReadLine(); //erstmal als string speichern, damit auch eigegebene Buchstaben kein Problem sind if (!int.TryParse(eingabe, out eingabejahr)) { Console.WriteLine("Falsche Eingabe, da Buchstaben nicht möglich sind."); } else if ((eingabejahr < 1583) || (eingabejahr > 4000)) { Console.WriteLine("Falsche Eingabe. Jahr ist nicht im gueltigen Bereich."); } else { eingabeOk = true; } if (!eingabeOk) { Console.Write("Bitte geben sie das Jahr erneut ein: "); } } while (!eingabeOk); Console.Write("Soll die Ausgabe \n1) Monatsblock einspaltig oder\n2) Monatsblock zweispaltig oder\n3) Zeilenweise oder\n4) Zeilenweise mit Eintraegen oder\n5) gelatexed oder\n6) als HTML sein? "); eingabeOk = false; do { string eingabe = Console.ReadLine(); if (!int.TryParse(eingabe, out eingabemodus)) { Console.WriteLine("Falsche Eingabe, da Buchstaben nicht möglich sind."); } else if ((eingabemodus < 1) || (eingabemodus > 6)) { Console.WriteLine("Falsche Eingabe. Modus ist nicht im gueltigen Bereich."); } else { eingabeOk = true; } if (!eingabeOk) { Console.Write("Bitte geben sie den Modus erneut ein: "); } } while (!eingabeOk); Console.WriteLine(""); //Eintrag Experimente List<Eintrag> eintraege = leseEintraege(debug); //Aufruf der leseEintraege Funktion mit Übergabe der debug Variablen KalenderJahr kalenderJahr = new KalenderJahr(eingabejahr); kalenderJahr.TrageEin(ref eintraege); Ausgabe ausgabe = null; switch (eingabemodus) { case 1: ausgabe = new MonatsBlockAusgabe(ref kalenderJahr, eingabemodus); break; case 2: ausgabe = new MonatsBlockAusgabe2Spaltig(ref kalenderJahr, eingabemodus); break; case 3: ausgabe = new TageszeilenAusgabe(ref kalenderJahr, eingabemodus, false); break; case 4: ausgabe = new TageszeilenAusgabe(ref kalenderJahr, eingabemodus, true); break; case 5: ausgabe = new LatexTageszeilenAusgabe(ref kalenderJahr); break; case 6: ausgabe = new htmlTageszeilenAusgabe(ref kalenderJahr); break; } ausgabe.gibAus(); #if DEBUG if (debug) { ausgabeTest(eingabejahr, eingabemodus, debug); //Aufruf der Testfunktion mit Übergabe der debug Variable } #endif //Erwartet Eingabe vor Beendigung des Programms Console.ReadLine(); return 0; } //ende main()
public void EinmaligerTermin() { List<Eintrag> meineEintraege = Eintrag.LeseEintraegeAusDatei("testfixtures/testeintraege.xml"); KalenderJahr jahr2012 = new KalenderJahr(2012); jahr2012.TrageEin(ref meineEintraege); Assert.AreEqual(jahr2012.GibMonate()[1].GibTage()[22].EintraegeAlsString(), "Termin"); //teste, ob nicht in anderem Jahr eingetragen KalenderJahr jahr2013 = new KalenderJahr(2013); jahr2013.TrageEin(ref meineEintraege); Assert.AreEqual(jahr2013.GibMonate()[1].GibTage()[22].EintraegeAlsString(), ""); Assert.IsTrue(jahr2012.GibMonate()[1].GibTage()[28].EintraegeAlsString().Contains("Schalttagtermin"), "Schalttagtermin wurde nicht korrekt eingetragen"); //Eimalige Termine sollen nicht auf den 28ten übertragen werden sondern als nicht valide ignoriert werden Assert.IsFalse(jahr2013.GibMonate()[1].GibTage()[27].EintraegeAlsString().Contains("Schalttagtermin"), "Einmalige Termine wurde auf den 28ten übetragen, soll aber als nicht valide gelten"); }
//Konstruktor der Klasse Ausgabe, übergibt zwei int werte von main.cs Datei an ausgabe.cs public Ausgabe(ref KalenderJahr dasJahr, int eingabemodus) { _jahr = dasJahr; _modus = eingabemodus; }
public abstract void TrageEinIn(KalenderJahr dasJahr);
public virtual string GibEintragText(KalenderJahr dasJahr) { return GibTitel(); }
private const int SPALTEN_BREITE = 3 * 7 + 10; //3*7 ist ein Monat breit public MonatsBlockAusgabe2Spaltig(ref KalenderJahr dasJahr, int eingabemodus) : base(ref dasJahr, eingabemodus) { }
public TageszeilenAusgabe(ref KalenderJahr dasJahr, int eingabemodus, bool mitEintraegen) : base(ref dasJahr, eingabemodus) { _mitEintraegen = mitEintraegen; }
public void Geburtstag() { List<Eintrag> meineEintraege = Eintrag.LeseEintraegeAusDatei("testfixtures/testeintraege.xml"); KalenderJahr jahr2012 = new KalenderJahr(2012); jahr2012.TrageEin(ref meineEintraege); //Angabe des Jahrs ist nicht nötig Assert.AreEqual(jahr2012.GibMonate()[11].GibTage()[30].EintraegeAlsString(), "Geburtstag Aisha"); //korrekte Anzeige des Alters Assert.AreEqual(jahr2012.GibMonate()[3].GibTage()[29].EintraegeAlsString(), "Geburtstag Barbara (" + (2012 - 1918) + ")"); }
public override void TrageEinIn(KalenderJahr dasJahr) { List<Tag> tageImMonat = dasJahr.GibMonate()[_monat-1].GibTage(); int index = 0; Tag ersterTag = tageImMonat[index]; while (ersterTag.GibWochentag() != _wochentag) { index++; ersterTag = tageImMonat[index]; } index = index + (_n-1) * HilfsKonstrukte.TAGE_PRO_WOCHE; if (index >= tageImMonat.Count) { return; } Tag nterTag = tageImMonat[index]; nterTag.TrageEin(this, GibEintragText(dasJahr)); }
public MonatsBlockAusgabe2Spaltig(ref KalenderJahr dasJahr, int eingabemodus) : base(ref dasJahr, eingabemodus) { }
public void Monat() { KalenderJahr jahr = new KalenderJahr(2012); Assert.AreEqual(jahr.GibMonate()[0].GibTage().Count, 31); Assert.AreEqual(jahr.GibMonate()[1].GibTage().Count, 29); Assert.AreEqual(jahr.GibMonate()[2].GibTage().Count, 31); Assert.AreEqual(jahr.GibMonate()[3].GibTage().Count, 30); Assert.AreEqual(jahr.GibMonate()[0].GibIndex(), 0); Assert.AreEqual(jahr.GibMonate()[HilfsKonstrukte.MONATE_IM_JAHR - 1].GibIndex(), HilfsKonstrukte.MONATE_IM_JAHR - 1); Tag fakeTag = new Tag(32,0,32); jahr.GibMonate()[0].FuegeTagAn(ref fakeTag); Assert.AreEqual(jahr.GibMonate()[0].GibTage().Count, 32); }
public LatexTageszeilenAusgabe(ref KalenderJahr dasJahr) : base(ref dasJahr, 5) //XXX: modus sollte nicht nötig sein { }
//XXX: modus sollte nicht nötig sein public LatexTageszeilenAusgabe(ref KalenderJahr dasJahr) : base(ref dasJahr, 5) { }
public override string GibEintragText(KalenderJahr dasJahr) { string start = "Geburtstag "; if (_geburtsjahr != 0) { return start + GibTitel() + " (" + (dasJahr.Jahreszahl() - _geburtsjahr) + ")"; } return start + GibTitel(); }
public override void TrageEinIn(KalenderJahr dasJahr) { int korrigierterTag = HilfsKonstrukte.Korrigiere29zu28inNichtSchaltjahrFebruar(dasJahr.Jahreszahl(), _monat, _tag); dasJahr.GibMonate()[_monat-1].GibTage()[korrigierterTag-1].TrageEin(this, GibEintragText(dasJahr)); }