Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/CarnetApp/CarnetNextcloud.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sebastian/comparator/tests/DateTimeComparatorTest.php')
-rw-r--r--vendor/sebastian/comparator/tests/DateTimeComparatorTest.php216
1 files changed, 216 insertions, 0 deletions
diff --git a/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php b/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php
new file mode 100644
index 0000000..9abcff7
--- /dev/null
+++ b/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php
@@ -0,0 +1,216 @@
+<?php
+/*
+ * This file is part of the Comparator package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace SebastianBergmann\Comparator;
+
+use DateTime;
+use DateTimeImmutable;
+use DateTimeZone;
+
+/**
+ * @coversDefaultClass SebastianBergmann\Comparator\DateTimeComparator
+ *
+ */
+class DateTimeComparatorTest extends \PHPUnit_Framework_TestCase
+{
+ private $comparator;
+
+ protected function setUp()
+ {
+ $this->comparator = new DateTimeComparator;
+ }
+
+ public function acceptsFailsProvider()
+ {
+ $datetime = new DateTime;
+
+ return array(
+ array($datetime, null),
+ array(null, $datetime),
+ array(null, null)
+ );
+ }
+
+ public function assertEqualsSucceedsProvider()
+ {
+ return array(
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York'))
+ ),
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 04:13:25', new DateTimeZone('America/New_York')),
+ 10
+ ),
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 04:14:40', new DateTimeZone('America/New_York')),
+ 65
+ ),
+ array(
+ new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29', new DateTimeZone('America/New_York'))
+ ),
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/Chicago'))
+ ),
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 03:13:49', new DateTimeZone('America/Chicago')),
+ 15
+ ),
+ array(
+ new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago'))
+ ),
+ array(
+ new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 23:01:30', new DateTimeZone('America/Chicago')),
+ 100
+ ),
+ array(
+ new DateTime('@1364616000'),
+ new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago'))
+ ),
+ array(
+ new DateTime('2013-03-29T05:13:35-0500'),
+ new DateTime('2013-03-29T04:13:35-0600')
+ )
+ );
+ }
+
+ public function assertEqualsFailsProvider()
+ {
+ return array(
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York'))
+ ),
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
+ 3500
+ ),
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 05:13:35', new DateTimeZone('America/New_York')),
+ 3500
+ ),
+ array(
+ new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-30', new DateTimeZone('America/New_York'))
+ ),
+ array(
+ new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+ 43200
+ ),
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
+ ),
+ array(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
+ 3500
+ ),
+ array(
+ new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+ new DateTime('2013-03-30', new DateTimeZone('America/Chicago'))
+ ),
+ array(
+ new DateTime('2013-03-29T05:13:35-0600'),
+ new DateTime('2013-03-29T04:13:35-0600')
+ ),
+ array(
+ new DateTime('2013-03-29T05:13:35-0600'),
+ new DateTime('2013-03-29T05:13:35-0500')
+ ),
+ );
+ }
+
+ /**
+ * @covers ::accepts
+ */
+ public function testAcceptsSucceeds()
+ {
+ $this->assertTrue(
+ $this->comparator->accepts(
+ new DateTime,
+ new DateTime
+ )
+ );
+ }
+
+ /**
+ * @covers ::accepts
+ * @dataProvider acceptsFailsProvider
+ */
+ public function testAcceptsFails($expected, $actual)
+ {
+ $this->assertFalse(
+ $this->comparator->accepts($expected, $actual)
+ );
+ }
+
+ /**
+ * @covers ::assertEquals
+ * @dataProvider assertEqualsSucceedsProvider
+ */
+ public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0)
+ {
+ $exception = null;
+
+ try {
+ $this->comparator->assertEquals($expected, $actual, $delta);
+ }
+
+ catch (ComparisonFailure $exception) {
+ }
+
+ $this->assertNull($exception, 'Unexpected ComparisonFailure');
+ }
+
+ /**
+ * @covers ::assertEquals
+ * @dataProvider assertEqualsFailsProvider
+ */
+ public function testAssertEqualsFails($expected, $actual, $delta = 0.0)
+ {
+ $this->setExpectedException(
+ 'SebastianBergmann\\Comparator\\ComparisonFailure',
+ 'Failed asserting that two DateTime objects are equal.'
+ );
+ $this->comparator->assertEquals($expected, $actual, $delta);
+ }
+
+ /**
+ * @requires PHP 5.5
+ * @covers ::accepts
+ */
+ public function testAcceptsDateTimeInterface()
+ {
+ $this->assertTrue($this->comparator->accepts(new DateTime, new DateTimeImmutable));
+ }
+
+ /**
+ * @requires PHP 5.5
+ * @covers ::assertEquals
+ */
+ public function testSupportsDateTimeInterface()
+ {
+ $this->comparator->assertEquals(
+ new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+ new DateTimeImmutable('2013-03-29 04:13:35', new DateTimeZone('America/New_York'))
+ );
+ }
+}