<?php
class DurationTest extends UnitTestCase {
function setUp() {
$this->duration = new A_Datetime_Duration();
$this->expectedArray = array(
'years' => 2,
'months' => 3,
'weeks' => 0,
'days' => 5,
'hours' => 1,
'minutes' => 10,
'seconds' => 3
);
$this->expectedArray2 = array(
'years' => 0,
'months' => 0,
'weeks' => 3,
'days' => 0,
'hours' => 0,
'minutes' => 0,
'seconds' => 0
);
}
function testConstructFromIntegers() {
$duration = new A_Datetime_Duration (2,3,0,5,1,10,3);
$this->assertEqual ($duration->toArray(), $this->expectedArray);
}
function testConstructconfig() {
$duration = new A_Datetime_Duration (array (
'years' => 2,
'months' => 3,
'days' => 5,
'hours' => 1,
'minutes' => 10,
'seconds' => 3
));
$this->assertEqual ($duration->toArray(), $this->expectedArray);
}
function testConstructparseDuration() {
$duration = new A_Datetime_Duration ('2 years, 3 months, 5 days, 1 hour, 10 minutes, 3 seconds');
$this->assertEqual ($duration->toArray(), $this->expectedArray);
}
function testParseDuration() {
$this -> duration -> parseDuration ('2 years, 3 months, 5 days, 1 hour, 10 minutes, 3 seconds');
$this -> assertEqual ($this->duration->toArray(), $this->expectedArray);
}
function testConfig() {
$this->duration->config (array (
'years' => 2,
'months' => 3,
'days' => 5,
'hours' => 1,
'minutes' => 10,
'seconds' => 3
));
$this->assertEqual ($this->duration->toArray(), $this->expectedArray);
}
function testParseDurationOverwritesExistingValues() {
$duration = new A_Datetime_Duration ('4 years, 4 months, 4 weeks, 4 days, 4 hours, 4 minutes, 4 seconds');
$duration->parseDuration ('2 years, 3 months, 5 days, 1 hour, 10 minutes, 3 seconds');
$this->assertEqual ($duration->toArray(), $this->expectedArray);
$duration2 = new A_Datetime_Duration ('4 years, 4 months, 4 weeks, 4 days, 4 hours, 4 minutes, 4 seconds');
$duration2->parseDuration ('3 weeks');
$this->assertEqual ($duration2->toArray(), $this->expectedArray2);
}
}
|