4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Validator\Tests\Constraints;
14 use Symfony\Component\Validator\Constraints\NotIdenticalTo;
15 use Symfony\Component\Validator\Constraints\NotIdenticalToValidator;
16 use Symfony\Component\Validator\Validation;
19 * @author Daniel Holmes <daniel@danielholmes.org>
21 class NotIdenticalToValidatorTest extends AbstractComparisonValidatorTestCase
23 protected function getApiVersion()
25 return Validation::API_VERSION_2_5;
28 protected function createValidator()
30 return new NotIdenticalToValidator();
33 protected function createConstraint(array $options)
35 return new NotIdenticalTo($options);
38 protected function getErrorCode()
40 return NotIdenticalTo::IS_IDENTICAL_ERROR;
46 public function provideValidComparisons()
52 array(new \DateTime('2001-01-01'), new \DateTime('2000-01-01')),
53 array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01')),
54 array(new \DateTime('2001-01-01'), '2000-01-01'),
55 array(new \DateTime('2000-01-01'), '2000-01-01'),
56 array(new \DateTime('2001-01-01'), '2000-01-01'),
57 array(new \DateTime('2000-01-01 UTC'), '2000-01-01 UTC'),
62 public function provideAllInvalidComparisons()
64 $this->setDefaultTimezone('UTC');
66 // Don't call addPhp5Dot5Comparisons() automatically, as it does
67 // not take care of identical objects
68 $comparisons = $this->provideInvalidComparisons();
70 $this->restoreDefaultTimezone();
78 public function provideInvalidComparisons()
80 $date = new \DateTime('2000-01-01');
81 $object = new ComparisonTest_Class(2);
84 array(3, '3', 3, '3', 'integer'),
85 array('a', '"a"', 'a', '"a"', 'string'),
86 array($date, 'Jan 1, 2000, 12:00 AM', $date, 'Jan 1, 2000, 12:00 AM', 'DateTime'),
87 array($object, '2', $object, '2', __NAMESPACE__.'\ComparisonTest_Class'),