|
23 | 23 |
|
24 | 24 | class ClassMetadataTest extends \PHPUnit_Framework_TestCase
|
25 | 25 | {
|
26 |
| - public function testSetAccessorOrder() |
| 26 | + public function getAccessOrderCases() |
| 27 | + { |
| 28 | + return [ |
| 29 | + [array('b', 'a'), array('b', 'a')], |
| 30 | + [array('a', 'b'), array('a', 'b')], |
| 31 | + [array('b'), array('b', 'a')], |
| 32 | + [array('a'), array('a', 'b')], |
| 33 | + [array('foo', 'bar'), array('b', 'a')], |
| 34 | + ]; |
| 35 | + } |
| 36 | + |
| 37 | + /** |
| 38 | + * @dataProvider getAccessOrderCases |
| 39 | + */ |
| 40 | + public function testSetAccessorOrderCustom(array $order, array $expected) |
27 | 41 | {
|
28 | 42 | $metadata = new ClassMetadata('JMS\Serializer\Tests\Metadata\PropertyMetadataOrder');
|
29 | 43 | $metadata->addPropertyMetadata(new PropertyMetadata('JMS\Serializer\Tests\Metadata\PropertyMetadataOrder', 'b'));
|
30 | 44 | $metadata->addPropertyMetadata(new PropertyMetadata('JMS\Serializer\Tests\Metadata\PropertyMetadataOrder', 'a'));
|
31 | 45 | $this->assertEquals(array('b', 'a'), array_keys($metadata->propertyMetadata));
|
32 | 46 |
|
33 |
| - $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_ALPHABETICAL); |
34 |
| - $this->assertEquals(array('a', 'b'), array_keys($metadata->propertyMetadata)); |
35 |
| - |
36 |
| - $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_CUSTOM, array('b', 'a')); |
37 |
| - $this->assertEquals(array('b', 'a'), array_keys($metadata->propertyMetadata)); |
38 |
| - |
39 |
| - $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_CUSTOM, array('a', 'b')); |
40 |
| - $this->assertEquals(array('a', 'b'), array_keys($metadata->propertyMetadata)); |
| 47 | + $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_CUSTOM, $order); |
| 48 | + $this->assertEquals($expected, array_keys($metadata->propertyMetadata)); |
| 49 | + } |
41 | 50 |
|
42 |
| - $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_CUSTOM, array('b')); |
| 51 | + /** |
| 52 | + * @dataProvider getAccessOrderCases |
| 53 | + */ |
| 54 | + public function testSetAccessorOrderAlphabetical() |
| 55 | + { |
| 56 | + $metadata = new ClassMetadata('JMS\Serializer\Tests\Metadata\PropertyMetadataOrder'); |
| 57 | + $metadata->addPropertyMetadata(new PropertyMetadata('JMS\Serializer\Tests\Metadata\PropertyMetadataOrder', 'b')); |
| 58 | + $metadata->addPropertyMetadata(new PropertyMetadata('JMS\Serializer\Tests\Metadata\PropertyMetadataOrder', 'a')); |
43 | 59 | $this->assertEquals(array('b', 'a'), array_keys($metadata->propertyMetadata));
|
44 | 60 |
|
45 |
| - $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_CUSTOM, array('a')); |
| 61 | + $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_ALPHABETICAL); |
46 | 62 | $this->assertEquals(array('a', 'b'), array_keys($metadata->propertyMetadata));
|
47 |
| - |
48 |
| - $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_CUSTOM, array('foo', 'bar')); |
49 |
| - $this->assertEquals(array('b', 'a'), array_keys($metadata->propertyMetadata)); |
50 | 63 | }
|
51 | 64 |
|
52 | 65 | /**
|
|
0 commit comments