/** * Test Converting Methods * */ function test_converting() { // Converting $timespan = Year::startingDuration(DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 5, 4, 15, 25, 10, Duration::withHours(-4)), Duration::withDays(10)); // asDate() $temp = $timespan->asDate(); $this->assertTrue($temp->isEqualTo(Date::withYearMonthDay(2005, 5, 4))); // asDateAndTime() $temp = $timespan->asDateAndTime(); $this->assertTrue($temp->isEqualTo(DateAndTime::withYearMonthDayHourMinuteSecond(2005, 5, 4, 00, 00, 00))); // asDuration() $temp = $timespan->asDuration(); $this->assertTrue($temp->isEqualTo(Duration::withDays(365))); // asMonth() $temp = $timespan->asMonth(); $this->assertTrue($temp->isEqualTo(Month::withMonthYear(5, 2005))); // asTime() $temp = $timespan->asTime(); $dateAndTime = DateAndTime::withYearMonthDayHourMinuteSecond(2005, 5, 4, 0, 0, 0); $this->assertTrue($temp->isEqualTo($dateAndTime->asTime())); // asTimeStamp() $temp = $timespan->asTimeStamp(); $this->assertTrue($temp->isEqualTo(TimeStamp::withYearMonthDayHourMinuteSecond(2005, 5, 4, 0, 0, 0))); // asWeek() $temp = $timespan->asWeek(); $this->assertTrue($temp->isEqualTo(Week::starting(Date::withYearMonthDay(2005, 5, 1)))); // asYear() $temp = $timespan->asYear(); $this->assertTrue($temp->isEqualTo(Year::starting(Date::withYearMonthDay(2005, 5, 4)))); // to() $temp = $timespan->to(Date::withYearMonthDay(2005, 10, 1)); $comparison = Timespan::startingEnding(DateAndTime::withYearMonthDayHourMinuteSecond(2005, 5, 4, 0, 0, 0), Date::withYearMonthDay(2005, 10, 1)); $this->assertTrue($temp->isEqualTo($comparison)); }
/** * Test the timestamp conversion methods. */ function test_plus_minus_days() { $timestamp = TimeStamp::withYearMonthDayHourMinuteSecond(2005, 5, 4, 15, 25, 32); $this->assertEqual(strtolower(get_class($timestamp)), 'timestamp'); $temp = $timestamp->minusDays(3); $this->assertEqual(strtolower(get_class($temp)), 'timestamp'); $this->assertEqual($temp->year(), 2005); $this->assertEqual($temp->month(), 5); $this->assertEqual($temp->dayOfMonth(), 1); $this->assertEqual($temp->hour(), 15); $this->assertEqual($temp->minute(), 25); $this->assertEqual($temp->second(), 32); $this->assertTrue($temp->isEqualTo(TimeStamp::withYearMonthDayHourMinuteSecond(2005, 5, 1, 15, 25, 32))); $temp = $timestamp->plusDays(3); $this->assertEqual(strtolower(get_class($temp)), 'timestamp'); $this->assertEqual($temp->year(), 2005); $this->assertEqual($temp->month(), 5); $this->assertEqual($temp->dayOfMonth(), 7); $this->assertEqual($temp->hour(), 15); $this->assertEqual($temp->minute(), 25); $this->assertEqual($temp->second(), 32); $this->assertTrue($temp->isEqualTo(TimeStamp::withYearMonthDayHourMinuteSecond(2005, 5, 7, 15, 25, 32))); $temp = $timestamp->minusSeconds(7); $this->assertEqual(strtolower(get_class($temp)), 'timestamp'); $this->assertEqual($temp->year(), 2005); $this->assertEqual($temp->month(), 5); $this->assertEqual($temp->dayOfMonth(), 4); $this->assertEqual($temp->hour(), 15); $this->assertEqual($temp->minute(), 25); $this->assertEqual($temp->second(), 25); $this->assertTrue($temp->isEqualTo(TimeStamp::withYearMonthDayHourMinuteSecond(2005, 5, 4, 15, 25, 25))); $temp = $timestamp->plusSeconds(7); $this->assertEqual(strtolower(get_class($temp)), 'timestamp'); $this->assertEqual($temp->year(), 2005); $this->assertEqual($temp->month(), 5); $this->assertEqual($temp->dayOfMonth(), 4); $this->assertEqual($temp->hour(), 15); $this->assertEqual($temp->minute(), 25); $this->assertEqual($temp->second(), 39); $this->assertTrue($temp->isEqualTo(TimeStamp::withYearMonthDayHourMinuteSecond(2005, 5, 4, 15, 25, 39))); }