Completed
Push — develop ( 8bd504...58ca2f )
by Freddie
09:29
created

NameDatabaseValidationTest::getNameValid()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 6
c 2
b 0
f 0
dl 0
loc 8
rs 10
cc 1
nc 1
nop 0
1
<?php declare(strict_types=1);
2
/*
3
 * This file is part of FlexPHP.
4
 *
5
 * (c) Freddie Gar <[email protected]>
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 FlexPHP\Database\Tests\Unit\Validations;
11
12
use FlexPHP\Database\Exception\DatabaseValidationException;
13
use FlexPHP\Database\Tests\TestCase;
14
use FlexPHP\Database\Validations\NameDatabaseValidation;
15
16
class NameDatabaseValidationTest extends TestCase
17
{
18
    /**
19
     * @dataProvider getNameInvalid
20
     *
21
     * @param string $name
22
     */
23
    public function testItNameInvalidThrowException($name): void
24
    {
25
        $this->expectException(DatabaseValidationException::class);
26
27
        (new NameDatabaseValidation($name))->validate();
28
    }
29
30
    /**
31
     * @dataProvider getNameValid
32
     *
33
     * @param string $name
34
     */
35
    public function testItNameValid($name): void
36
    {
37
        (new NameDatabaseValidation($name))->validate();
38
39
        $this->assertTrue(true);
40
    }
41
42
    public function getNameInvalid(): array
43
    {
44
        return [
45
            // [null],
46
            // [[]],
47
            [''],
48
            [' '],
49
            ['db.dot'],
50
            ['has space'],
51
            ['1db'],
52
            ['d?b'],
53
            ['d!b'],
54
            ['ñdb'],
55
            ['_db'],
56
            ['db-one'],
57
            ['d' . \str_repeat('b', 63) . 'b'],
58
        ];
59
    }
60
61
    public function getNameValid(): array
62
    {
63
        return [
64
            ['db'],
65
            ['db_one'],
66
            ['db1'],
67
            ['db_'],
68
            ['d' . \str_repeat('b', 61) . 'b'],
69
        ];
70
    }
71
}
72