예제 #1
0
파일: test.cs 프로젝트: rakvat/calender
        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);
        }
예제 #2
0
파일: test.cs 프로젝트: rakvat/calender
        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) + ")");
        }
예제 #3
0
 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));
 }
예제 #4
0
파일: test.cs 프로젝트: BrownCrown/calender
        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);
        }
예제 #5
0
 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));
 }
예제 #6
0
파일: test.cs 프로젝트: rakvat/calender
        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);
        }
예제 #7
0
파일: test.cs 프로젝트: rakvat/calender
        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");
        }
예제 #8
0
파일: test.cs 프로젝트: rakvat/calender
        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");
        }
예제 #9
0
        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));
        }
예제 #10
0
파일: test.cs 프로젝트: rakvat/calender
        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);
        }
예제 #11
0
        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));
        }
예제 #12
0
파일: test.cs 프로젝트: rakvat/calender
        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);
        }
예제 #13
0
파일: test.cs 프로젝트: BrownCrown/calender
 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);
 }
예제 #14
0
파일: test.cs 프로젝트: BrownCrown/calender
 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);
 }
예제 #15
0
파일: test.cs 프로젝트: BrownCrown/calender
 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);
 }
예제 #16
0
파일: test.cs 프로젝트: BrownCrown/calender
        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");
        }
예제 #17
0
파일: test.cs 프로젝트: BrownCrown/calender
 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) + ")");
 }
예제 #18
0
 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));
 }
예제 #19
0
 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));
 }
예제 #20
0
        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));
        }
예제 #21
0
파일: test.cs 프로젝트: BrownCrown/calender
        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");
        }
예제 #22
0
 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));
 }