packages/sql-fixture/tests/Unit/Hydrator/Reflection/PropertyNamesTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Hydrator\Reflection;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use SqlFixture\Hydrator\Reflection\PropertyNames as Subject;
10
11#[CoversClass(Subject::class)]
12final class PropertyNamesTest extends TestCase
13{
14    public function testToSnakeCaseSeparatesCapitalLetters(): void
15    {
16        self::assertSame('first_name', (new Subject())->toSnakeCase('firstName'));
17        self::assertSame('name', (new Subject())->toSnakeCase('name'));
18    }
19
20    public function testToCamelCaseJoinsUnderscoreWords(): void
21    {
22        self::assertSame('firstName', (new Subject())->toCamelCase('first_name'));
23        self::assertSame('name', (new Subject())->toCamelCase('name'));
24    }
25}
26