Version 1
[yaffs-website] / vendor / symfony / validator / Tests / Constraints / NotIdenticalToValidatorTest.php
diff --git a/vendor/symfony/validator/Tests/Constraints/NotIdenticalToValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/NotIdenticalToValidatorTest.php
new file mode 100644 (file)
index 0000000..3810a84
--- /dev/null
@@ -0,0 +1,92 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Validator\Tests\Constraints;
+
+use Symfony\Component\Validator\Constraints\NotIdenticalTo;
+use Symfony\Component\Validator\Constraints\NotIdenticalToValidator;
+use Symfony\Component\Validator\Validation;
+
+/**
+ * @author Daniel Holmes <daniel@danielholmes.org>
+ */
+class NotIdenticalToValidatorTest extends AbstractComparisonValidatorTestCase
+{
+    protected function getApiVersion()
+    {
+        return Validation::API_VERSION_2_5;
+    }
+
+    protected function createValidator()
+    {
+        return new NotIdenticalToValidator();
+    }
+
+    protected function createConstraint(array $options)
+    {
+        return new NotIdenticalTo($options);
+    }
+
+    protected function getErrorCode()
+    {
+        return NotIdenticalTo::IS_IDENTICAL_ERROR;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function provideValidComparisons()
+    {
+        return array(
+            array(1, 2),
+            array('2', 2),
+            array('22', '333'),
+            array(new \DateTime('2001-01-01'), new \DateTime('2000-01-01')),
+            array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01')),
+            array(new \DateTime('2001-01-01'), '2000-01-01'),
+            array(new \DateTime('2000-01-01'), '2000-01-01'),
+            array(new \DateTime('2001-01-01'), '2000-01-01'),
+            array(new \DateTime('2000-01-01 UTC'), '2000-01-01 UTC'),
+            array(null, 1),
+        );
+    }
+
+    public function provideAllInvalidComparisons()
+    {
+        $this->setDefaultTimezone('UTC');
+
+        // Don't call addPhp5Dot5Comparisons() automatically, as it does
+        // not take care of identical objects
+        $comparisons = $this->provideInvalidComparisons();
+
+        $this->restoreDefaultTimezone();
+
+        return $comparisons;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function provideInvalidComparisons()
+    {
+        $date = new \DateTime('2000-01-01');
+        $object = new ComparisonTest_Class(2);
+
+        $comparisons = array(
+            array(3, '3', 3, '3', 'integer'),
+            array('a', '"a"', 'a', '"a"', 'string'),
+            array($date, 'Jan 1, 2000, 12:00 AM', $date, 'Jan 1, 2000, 12:00 AM', 'DateTime'),
+            array($object, '2', $object, '2', __NAMESPACE__.'\ComparisonTest_Class'),
+        );
+
+        return $comparisons;
+    }
+}