ElementMetadataTest.php

Namespace

Symfony\Component\Validator\Tests\Mapping

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/ElementMetadataTest.php
View source
<?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\Mapping;

use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
use Symfony\Component\Validator\Mapping\ElementMetadata;
class ElementMetadataTest extends \PHPUnit_Framework_TestCase {
  protected $metadata;
  protected function setUp() {
    $this->metadata = new TestElementMetadata('Symfony\\Component\\Validator\\Tests\\Fixtures\\Entity');
  }
  protected function tearDown() {
    $this->metadata = null;
  }
  public function testAddConstraints() {
    $this->metadata
      ->addConstraint($constraint1 = new ConstraintA());
    $this->metadata
      ->addConstraint($constraint2 = new ConstraintA());
    $this
      ->assertEquals(array(
      $constraint1,
      $constraint2,
    ), $this->metadata
      ->getConstraints());
  }
  public function testMultipleConstraintsOfTheSameType() {
    $constraint1 = new ConstraintA(array(
      'property1' => 'A',
    ));
    $constraint2 = new ConstraintA(array(
      'property1' => 'B',
    ));
    $this->metadata
      ->addConstraint($constraint1);
    $this->metadata
      ->addConstraint($constraint2);
    $this
      ->assertEquals(array(
      $constraint1,
      $constraint2,
    ), $this->metadata
      ->getConstraints());
  }
  public function testFindConstraintsByGroup() {
    $constraint1 = new ConstraintA(array(
      'groups' => 'TestGroup',
    ));
    $constraint2 = new ConstraintB();
    $this->metadata
      ->addConstraint($constraint1);
    $this->metadata
      ->addConstraint($constraint2);
    $this
      ->assertEquals(array(
      $constraint1,
    ), $this->metadata
      ->findConstraints('TestGroup'));
  }
  public function testSerialize() {
    $this->metadata
      ->addConstraint(new ConstraintA(array(
      'property1' => 'A',
    )));
    $this->metadata
      ->addConstraint(new ConstraintB(array(
      'groups' => 'TestGroup',
    )));
    $metadata = unserialize(serialize($this->metadata));
    $this
      ->assertEquals($this->metadata, $metadata);
  }

}
class TestElementMetadata extends ElementMetadata {

}

Classes