3
* This file is part of the Comparator package.
5
* (c) Sebastian Bergmann <sebastian@phpunit.de>
7
* For the full copyright and license information, please view the LICENSE
8
* file that was distributed with this source code.
11
namespace SebastianBergmann\Comparator;
17
* @coversDefaultClass SebastianBergmann\Comparator\DateTimeComparator
20
* @author Jeff Welch <whatthejeff@gmail.com>
21
* @copyright Sebastian Bergmann <sebastian@phpunit.de>
22
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
23
* @link http://www.github.com/sebastianbergmann/comparator
25
class DateTimeComparatorTest extends \PHPUnit_Framework_TestCase
29
protected function setUp()
31
$this->comparator = new DateTimeComparator;
34
public function acceptsFailsProvider()
36
$datetime = new DateTime;
39
array($datetime, null),
40
array(null, $datetime),
45
public function assertEqualsSucceedsProvider()
49
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
50
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York'))
53
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
54
new DateTime('2013-03-29 04:13:25', new DateTimeZone('America/New_York')),
58
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
59
new DateTime('2013-03-29 04:14:40', new DateTimeZone('America/New_York')),
63
new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
64
new DateTime('2013-03-29', new DateTimeZone('America/New_York'))
67
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
68
new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/Chicago'))
71
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
72
new DateTime('2013-03-29 03:13:49', new DateTimeZone('America/Chicago')),
76
new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
77
new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago'))
80
new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
81
new DateTime('2013-03-29 23:01:30', new DateTimeZone('America/Chicago')),
85
new DateTime('@1364616000'),
86
new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago'))
89
new DateTime('2013-03-29T05:13:35-0500'),
90
new DateTime('2013-03-29T04:13:35-0600')
95
public function assertEqualsFailsProvider()
99
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
100
new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York'))
103
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
104
new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
108
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
109
new DateTime('2013-03-29 05:13:35', new DateTimeZone('America/New_York')),
113
new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
114
new DateTime('2013-03-30', new DateTimeZone('America/New_York'))
117
new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
118
new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
122
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
123
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
126
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
127
new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
131
new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
132
new DateTime('2013-03-30', new DateTimeZone('America/Chicago'))
135
new DateTime('2013-03-29T05:13:35-0600'),
136
new DateTime('2013-03-29T04:13:35-0600')
139
new DateTime('2013-03-29T05:13:35-0600'),
140
new DateTime('2013-03-29T05:13:35-0500')
148
public function testAcceptsSucceeds()
151
$this->comparator->accepts(
160
* @dataProvider acceptsFailsProvider
162
public function testAcceptsFails($expected, $actual)
165
$this->comparator->accepts($expected, $actual)
170
* @covers ::assertEquals
171
* @dataProvider assertEqualsSucceedsProvider
173
public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0)
178
$this->comparator->assertEquals($expected, $actual, $delta);
181
catch (ComparisonFailure $exception) {
184
$this->assertNull($exception, 'Unexpected ComparisonFailure');
188
* @covers ::assertEquals
189
* @dataProvider assertEqualsFailsProvider
191
public function testAssertEqualsFails($expected, $actual, $delta = 0.0)
193
$this->setExpectedException(
194
'SebastianBergmann\\Comparator\\ComparisonFailure',
195
'Failed asserting that two DateTime objects are equal.'
197
$this->comparator->assertEquals($expected, $actual, $delta);