public function testAlteTests()
 {
     $this->assertEquals(new Datum('2011-05-27'), PublicHolidays::AddWorkingDays(0, new Datum('2011-05-27')));
     $this->assertEquals(new Datum('2011-05-30'), PublicHolidays::AddWorkingDays(1, new Datum('2011-05-27')));
     $this->assertEquals(new Datum('2011-05-30'), PublicHolidays::AddWorkingDays(0, new Datum('2011-05-28')));
     $this->assertEquals(new Datum('2011-05-30'), PublicHolidays::AddWorkingDays(1, new Datum('2011-05-28')));
     $this->assertEquals(new Datum('2011-05-30'), PublicHolidays::AddWorkingDays(0, new Datum('2011-05-29')));
     $this->assertEquals(new Datum('2011-05-30'), PublicHolidays::AddWorkingDays(1, new Datum('2011-05-29')));
     $this->assertEquals(new Datum('2011-06-06'), PublicHolidays::AddWorkingDays(2, new Datum('2011-06-01')));
     $this->assertEquals(new Datum('2011-06-06'), PublicHolidays::AddWorkingDays(2, new Datum('2011-06-02')));
 }
 public static function AddWorkingDays($days, Datum $date = null)
 {
     if ($date === null) {
         $date = Datum::ToDay();
     }
     if ($days == 0) {
         while (PublicHolidays::IsWeekend($date) || PublicHolidays::IsHoliday($date, new Bundesland('BB', 'Brandenburg'))) {
             $date = $date->DateAdd(1);
         }
     }
     $i = 0;
     while ($i < $days) {
         $date = $date->DateAdd(1);
         if (!PublicHolidays::IsWeekend($date) && !PublicHolidays::IsHoliday($date, new Bundesland('BB', 'Brandenburg'))) {
             $i++;
         }
     }
     return $date;
 }