/**
  * Test the creation methods.
  */
 function test_creation()
 {
     $epoch = Week::epoch();
     $this->assertEqual(strtolower(get_class($epoch)), 'week');
     $this->assertEqual($epoch->startYear(), 1900);
     $this->assertEqual($epoch->startMonth(), 12);
     $this->assertEqual($epoch->dayOfMonth(), 30);
     $this->assertEqual($epoch->startMonthName(), 'December');
     $start = $epoch->start();
     $this->assertEqual($start->hour(), 0);
     $this->assertEqual($start->minute(), 0);
     $this->assertEqual($start->second(), 0);
     $duration = $epoch->duration();
     $this->assertTrue($duration->isEqualTo(Duration::withDays(7)));
     $week = Week::starting(DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 5, 4, 15, 25, 10, Duration::withHours(-4)));
     $this->assertEqual(strtolower(get_class($week)), 'week');
     $this->assertEqual($week->startYear(), 2005);
     $this->assertEqual($week->startMonth(), 5);
     $this->assertEqual($week->dayOfMonth(), 1);
     $start = $week->start();
     $this->assertEqual($start->hour(), 0);
     $this->assertEqual($start->minute(), 0);
     $this->assertEqual($start->second(), 0);
     $this->assertEqual($week->startMonthName(), 'May');
     $duration = $week->duration();
     $this->assertEqual($duration->days(), 7);
     $this->assertTrue($week->isEqualTo(Week::starting(DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 5, 3, 15, 25, 10, Duration::withHours(-4)))));
 }