SnakeToCamelCaseConverterTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\InventoryReservations\Test\Unit\Model;
  8. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  9. use Magento\InventoryReservations\Model\SnakeToCamelCaseConverter;
  10. use PHPUnit\Framework\TestCase;
  11. class SnakeToCamelCaseConverterTest extends TestCase
  12. {
  13. /**
  14. * @var SnakeToCamelCaseConverter
  15. */
  16. private $snakeToCamelCaseConverter;
  17. protected function setUp()
  18. {
  19. $this->snakeToCamelCaseConverter = (new ObjectManager($this))->getObject(SnakeToCamelCaseConverter::class);
  20. }
  21. /**
  22. * @dataProvider getElementsToConvert
  23. * @param array $givenElements
  24. * @param array $expectedElements
  25. */
  26. public function testArrayElementConversion(array $givenElements, array $expectedElements)
  27. {
  28. self::assertEquals($expectedElements, $this->snakeToCamelCaseConverter->convert($givenElements));
  29. }
  30. /**
  31. * @return array
  32. */
  33. public function getElementsToConvert(): array
  34. {
  35. return [
  36. 'with_empty_data' => [[], []],
  37. 'to_lowercase' => [
  38. ['one', 'Two', 'THREE'],
  39. ['one', 'two', 'three']
  40. ],
  41. 'underscore_to_camelcase' => [
  42. ['my_element_one', 'My_Element_Two', 'MY_ELEMENT_THREE'],
  43. ['myElementOne', 'myElementTwo', 'myElementThree']
  44. ],
  45. ];
  46. }
  47. }