Пример #1
0
 public KalenderJahr(int dasJahr)
 {
     _jahr = dasJahr;
     _monate = new List<Monat>();
     _wochen = new List<Woche>();
     _tage = new List<Tag>();
     int tageImJahr = HilfsKonstrukte.TAGE_IM_JAHR;
     if (IstSchaltjahr()) {
         ++tageImJahr;
     }
     int wochenTag = StartWochenTag();
     int wochenNummer = StartWochenNummer();
     int monat = 0;
     int tagImMonat = 0;
     Woche woche = new Woche(wochenNummer);
     for (int i = 0; i < tageImJahr; ++i)
     {
         if (tagImMonat == 0)
         {
             _monate.Add(new Monat(monat));
         }
         if (wochenTag == 0 && i !=  0)
         {
             wochenNummer++;
             woche = new Woche(wochenNummer);
             _wochen.Add(woche);
         }
         Tag meinTag = new Tag(tagImMonat+1, wochenTag, i+1);
         meinTag.SetzeWoche(ref woche);
         _tage.Add(meinTag);
         _monate[monat].FuegeTagAn(ref meinTag);
         wochenTag = (++wochenTag) % HilfsKonstrukte.TAGE_PRO_WOCHE;
         tagImMonat++;
         if (tagImMonat == HilfsKonstrukte.TageImMonat(monat+1, _jahr)) {
             monat++;
             tagImMonat = 0;
         }
     }
 }
Пример #2
0
 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);
 }
Пример #3
0
 public void FuegeTagAn(ref Tag derTag)
 {
     _tage.Add(derTag);
 }