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 static List <Eintrag> LeseEintraegeAusVerzeichnis(string dasVerzeichnis) { List <Eintrag> meineEintraege = new List <Eintrag>(); DirectoryInfo d = new DirectoryInfo(dasVerzeichnis); foreach (FileInfo f in d.GetFiles("*.xml")) { Debug.WriteLine("Lese Eintraege aus " + f.Name + "; " + f.Length + "; " + f.CreationTime); List <Eintrag> neueEintraege = Eintrag.LeseEintraegeAusDatei(dasVerzeichnis + f.Name); meineEintraege.AddRange(neueEintraege); } //ende foreach fileinfo return(meineEintraege); }
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"); }
} //ende main() static List <Eintrag> leseEintraege(bool debug) { List <Eintrag> meineEintraege = new List <Eintrag>(); if (!System.IO.Directory.Exists(debug ? Eintrag.TEST_INPUT_DIR : Eintrag.INPUT_DIR)) { Console.WriteLine("xml Dateien nicht gefunden."); return(meineEintraege); } meineEintraege = Eintrag.LeseEintraegeAusVerzeichnis(debug ? Eintrag.TEST_INPUT_DIR : Eintrag.INPUT_DIR); //fuer debug if (debug) { foreach (Eintrag meinEintrag in meineEintraege) { Console.WriteLine("debug info Eintrag: " + meinEintrag.toString()); } } return(meineEintraege); } //ende leseEintraege
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 TrageEin(Eintrag derEintrag, string derString) { _eintraege.Add(derEintrag); _eintraegeStrings.Add(derString); }