-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAbstractPluralNamingStrategyTest.php
77 lines (65 loc) · 2.22 KB
/
AbstractPluralNamingStrategyTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
declare(strict_types=1);
/*
* This is part of the webuni/doctrine-extensions package.
*
* (c) Martin Hasoň <[email protected]>
* (c) Webuni s.r.o. <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Webuni\DoctrineExtension\Tests;
use PHPUnit\Framework\TestCase;
use Webuni\DoctrineExtensions\Mapping\PluralNamingStrategy;
abstract class AbstractPluralNamingStrategyTest extends TestCase
{
/* @var PluralNamingStrategy */
protected $strategy;
/**
* @dataProvider getClassToTableName
*/
public function testClassToTableName($class, $table): void
{
$this->assertEquals($table, $this->strategy->classToTableName($class));
}
/**
* @dataProvider getPropertyToColumnName
*/
public function testPropertyToColumnName($class, $property, $column): void
{
$this->assertEquals($column, $this->strategy->propertyToColumnName($property, $class));
}
/**
* @dataProvider getEmbeddedFieldToColumnName
*/
public function testEmbeddedFieldToColumnName($class, $embeddedClass, $property, $embeddedColumn, $column): void
{
$this->assertEquals($column, $this->strategy->embeddedFieldToColumnName($property, $embeddedColumn, $class, $embeddedClass));
}
public function testReferenceColumnName(): void
{
$this->assertEquals('id', $this->strategy->referenceColumnName());
}
/**
* @dataProvider getPropertyToColumnName
*/
public function testJoinColumnName($class, $property, $column): void
{
$this->assertEquals($column.'_id', $this->strategy->joinColumnName($property));
}
/**
* @dataProvider getJoinTableName
*/
public function testJoinTableName($sourceClass, $targetClass, $property, $table): void
{
$this->assertEquals($table, $this->strategy->joinTableName($sourceClass, $targetClass, $property));
}
/**
* @dataProvider getJoinKeyColumnName
*/
public function testJoinKeyColumnName($class, $referencedColumn, $column): void
{
$this->assertEquals($column, $this->strategy->joinKeyColumnName($class, $referencedColumn));
}
}