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 PHPUnit\Framework\TestCase;
15 use Symfony\Component\Validator\Constraints\GroupSequence;
18 * @author Bernhard Schussek <bschussek@gmail.com>
20 class GroupSequenceTest extends TestCase
22 public function testCreate()
24 $sequence = new GroupSequence(array('Group 1', 'Group 2'));
26 $this->assertSame(array('Group 1', 'Group 2'), $sequence->groups);
29 public function testCreateDoctrineStyle()
31 $sequence = new GroupSequence(array('value' => array('Group 1', 'Group 2')));
33 $this->assertSame(array('Group 1', 'Group 2'), $sequence->groups);
39 public function testLegacyIterate()
41 $sequence = new GroupSequence(array('Group 1', 'Group 2'));
43 $this->assertSame(array('Group 1', 'Group 2'), iterator_to_array($sequence));
49 public function testLegacyCount()
51 $sequence = new GroupSequence(array('Group 1', 'Group 2'));
53 $this->assertCount(2, $sequence);
59 public function testLegacyArrayAccess()
61 $sequence = new GroupSequence(array('Group 1', 'Group 2'));
63 $this->assertSame('Group 1', $sequence[0]);
64 $this->assertSame('Group 2', $sequence[1]);
65 $this->assertTrue(isset($sequence[0]));
66 $this->assertFalse(isset($sequence[2]));
68 $this->assertFalse(isset($sequence[0]));
69 $sequence[] = 'Group 3';
70 $this->assertTrue(isset($sequence[2]));
71 $this->assertSame('Group 3', $sequence[2]);
72 $sequence[0] = 'Group 1';
73 $this->assertTrue(isset($sequence[0]));
74 $this->assertSame('Group 1', $sequence[0]);
78 * @expectedException \Symfony\Component\Validator\Exception\OutOfBoundsException
81 public function testLegacyGetExpectsExistingKey()
83 $sequence = new GroupSequence(array('Group 1', 'Group 2'));
91 public function testLegacyUnsetIgnoresNonExistingKeys()
93 $sequence = new GroupSequence(array('Group 1', 'Group 2'));
98 $this->assertCount(2, $sequence);