CamelCaseToSnakeCaseNameConverterTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Symfony\Component\Serializer\Tests\NameConverter;
  11. use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter;
  12. /**
  13. * @author Kévin Dunglas <dunglas@gmail.com>
  14. */
  15. class CamelCaseToSnakeCaseNameConverterTest extends \PHPUnit_Framework_TestCase
  16. {
  17. public function testInterface()
  18. {
  19. $attributeMetadata = new CamelCaseToSnakeCaseNameConverter();
  20. $this->assertInstanceOf('Symfony\Component\Serializer\NameConverter\NameConverterInterface', $attributeMetadata);
  21. }
  22. /**
  23. * @dataProvider attributeProvider
  24. */
  25. public function testNormalize($underscored, $lowerCamelCased)
  26. {
  27. $nameConverter = new CamelCaseToSnakeCaseNameConverter();
  28. $this->assertEquals($nameConverter->normalize($lowerCamelCased), $underscored);
  29. }
  30. /**
  31. * @dataProvider attributeProvider
  32. */
  33. public function testDenormalize($underscored, $lowerCamelCased)
  34. {
  35. $nameConverter = new CamelCaseToSnakeCaseNameConverter();
  36. $this->assertEquals($nameConverter->denormalize($underscored), $lowerCamelCased);
  37. }
  38. public function attributeProvider()
  39. {
  40. return array(
  41. array('coop_tilleuls', 'coopTilleuls'),
  42. array('_kevin_dunglas', '_kevinDunglas'),
  43. array('this_is_a_test', 'thisIsATest'),
  44. );
  45. }
  46. }