Test creating dates from format strings.
function testDateFormat() {
// Create a year-only date.
$input = '2009';
$timezone = NULL;
$format = 'Y';
$date = new DateTimePlus($input, $timezone, $format);
$value = $date
->format('Y');
$expected = '2009';
$this
->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}, {$format}): should be {$expected}, found {$value}.");
// Create a month and year-only date.
$input = '2009-10';
$timezone = NULL;
$format = 'Y-m';
$date = new DateTimePlus($input, $timezone, $format);
$value = $date
->format('Y-m');
$expected = '2009-10';
$this
->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}, {$format}): should be {$expected}, found {$value}.");
// Create a time-only date.
$input = 'T10:30:00';
$timezone = NULL;
$format = '\\TH:i:s';
$date = new DateTimePlus($input, $timezone, $format);
$value = $date
->format('H:i:s');
$expected = '10:30:00';
$this
->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}, {$format}): should be {$expected}, found {$value}.");
// Create a time-only date.
$input = '10:30:00';
$timezone = NULL;
$format = 'H:i:s';
$date = new DateTimePlus($input, $timezone, $format);
$value = $date
->format('H:i:s');
$expected = '10:30:00';
$this
->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}, {$format}): should be {$expected}, found {$value}.");
}