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\Form\Tests\Extension\Core\DataTransformer
;
14 use Symfony\Component\Form\Extension\Core\ChoiceList\SimpleChoiceList
;
15 use Symfony\Component\Form\Extension\Core\DataTransformer\ChoiceToValueTransformer
;
17 class ChoiceToValueTransformerTest
extends \PHPUnit_Framework_TestCase
19 protected $transformer;
21 protected function setUp()
23 $list = new SimpleChoiceList(array('' => 'A', 0 => 'B', 1 => 'C'));
24 $this->transformer
= new ChoiceToValueTransformer($list);
27 protected function tearDown()
29 $this->transformer
= null;
32 public function transformProvider()
35 // more extensive test set can be found in FormUtilTest
43 * @dataProvider transformProvider
45 public function testTransform($in, $out)
47 $this->assertSame($out, $this->transformer
->transform($in));
50 public function reverseTransformProvider()
53 // values are expected to be valid choice keys already and stay
62 * @dataProvider reverseTransformProvider
64 public function testReverseTransform($in, $out)
66 $this->assertSame($out, $this->transformer
->reverseTransform($in));
70 * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
72 public function testReverseTransformExpectsScalar()
74 $this->transformer
->reverseTransform(array());