/** * @test */ public function test_convert_from_camel() { fromLowerCamel: $cs = CaseSensor::LowerSnake(); $this->assertEquals('foo_bar_baz', $cs->convert('fooBarBaz')); $cs = CaseSensor::UpperSnake(); $this->assertEquals('FOO_BAR_BAZ', $cs->convert('fooBarBaz')); $cs = CaseSensor::LowerCamel(); $this->assertEquals('fooBarBaz', $cs->convert('fooBarBaz')); $cs = CaseSensor::UpperCamel(); $this->assertEquals('FooBarBaz', $cs->convert('fooBarBaz')); fromUpperCamel: $cs = CaseSensor::LowerSnake(); $this->assertEquals('foo_bar_baz', $cs->convert('FooBarBaz')); $cs = CaseSensor::UpperSnake(); $this->assertEquals('FOO_BAR_BAZ', $cs->convert('FooBarBaz')); $cs = CaseSensor::LowerCamel(); $this->assertEquals('fooBarBaz', $cs->convert('FooBarBaz')); $cs = CaseSensor::UpperCamel(); $this->assertEquals('FooBarBaz', $cs->convert('FooBarBaz')); }
/** * @test */ public function test_build_prepare_with_returning_case_sensitive() { $context = new DaoBuilderContext(new Configuration(function ($conf) { $conf->connectionString = 'sqlite:///:memory:'; })); $builder = new DaoBuilder(new \ReflectionClass(TodoDao2::class), $context->getDaoClassName(TodoDao2::class)); $factory = new DomainFactory(); lowerSnake: $builder->prepare(); $methods = $builder->getMethods(); $info = $methods['findByIdReturningEditor']; $this->assertArrayHasKey('returnDomain', $info); $this->assertInstanceOf(Domain\ObjectDomain::class, $info['returnDomain']); $children = $info['returnDomain']->getChildren(); $this->assertArrayHasKey('id', $children); $this->assertInstanceOf(Domain\NamedAliasDomain::class, $children['id']); $this->assertEquals('id', $children['id']->getName()); $this->assertEquals(['todo_id'], $children['id']->getAlias()); $this->assertArrayHasKey('creator', $children); $this->assertInstanceOf(Domain\NamedAliasDomain::class, $children['creator']); $this->assertEquals('creator', $children['creator']->getName()); $this->assertEquals(['creator_id'], $children['creator']->getAlias()); $this->assertEquals(['creator_name'], $children['creator']->getOptFields()); upperSnake: $builder->setReturnCaseSensor(CaseSensor::UpperSnake()); $builder->prepare(); $methods = $builder->getMethods(); $info = $methods['findByIdReturningEditor']; $this->assertArrayHasKey('returnDomain', $info); $this->assertInstanceOf(Domain\ObjectDomain::class, $info['returnDomain']); $children = $info['returnDomain']->getChildren(); $this->assertArrayHasKey('id', $children); $this->assertInstanceOf(Domain\NamedAliasDomain::class, $children['id']); $this->assertEquals('ID', $children['id']->getName()); $this->assertEquals(['TODO_ID'], $children['id']->getAlias()); $this->assertArrayHasKey('creator', $children); $this->assertInstanceOf(Domain\NamedAliasDomain::class, $children['creator']); $this->assertEquals('CREATOR', $children['creator']->getName()); $this->assertEquals(['CREATOR_ID'], $children['creator']->getAlias()); $this->assertEquals(['CREATOR_NAME'], $children['creator']->getOptFields()); lowerCamel: $builder->setReturnCaseSensor(CaseSensor::LowerCamel()); $builder->prepare(); $methods = $builder->getMethods(); $info = $methods['findByIdReturningEditor']; $this->assertArrayHasKey('returnDomain', $info); $this->assertInstanceOf(Domain\ObjectDomain::class, $info['returnDomain']); $children = $info['returnDomain']->getChildren(); $this->assertArrayHasKey('id', $children); $this->assertInstanceOf(Domain\NamedAliasDomain::class, $children['id']); $this->assertEquals('id', $children['id']->getName()); $this->assertEquals(['todoId'], $children['id']->getAlias()); $this->assertArrayHasKey('creator', $children); $this->assertInstanceOf(Domain\NamedAliasDomain::class, $children['creator']); $this->assertEquals('creator', $children['creator']->getName()); $this->assertEquals(['creatorId'], $children['creator']->getAlias()); $this->assertEquals(['creatorName'], $children['creator']->getOptFields()); upperCamel: $builder->setReturnCaseSensor(CaseSensor::UpperCamel()); $builder->prepare(); $methods = $builder->getMethods(); $info = $methods['findByIdReturningEditor']; $this->assertArrayHasKey('returnDomain', $info); $this->assertInstanceOf(Domain\ObjectDomain::class, $info['returnDomain']); $children = $info['returnDomain']->getChildren(); $this->assertArrayHasKey('id', $children); $this->assertInstanceOf(Domain\NamedAliasDomain::class, $children['id']); $this->assertEquals('Id', $children['id']->getName()); $this->assertEquals(['TodoId'], $children['id']->getAlias()); $this->assertArrayHasKey('creator', $children); $this->assertInstanceOf(Domain\NamedAliasDomain::class, $children['creator']); $this->assertEquals('Creator', $children['creator']->getName()); $this->assertEquals(['CreatorId'], $children['creator']->getAlias()); $this->assertEquals(['CreatorName'], $children['creator']->getOptFields()); }