Passed
Pull Request — master (#417)
by
unknown
03:09
created

testBuildUntrimmedSingleExpression()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpMyAdmin\SqlParser\Tests\Components;
6
7
use PhpMyAdmin\SqlParser\Components\Expression;
8
use PhpMyAdmin\SqlParser\Components\GroupKeyword;
9
use PhpMyAdmin\SqlParser\Tests\TestCase;
10
11
class GroupKeywordTest extends TestCase
12
{
13
    public function testBuildNone(): void
14
    {
15
        $this->assertEquals(
16
            '',
17
            GroupKeyword::build([])
18
        );
19
    }
20
21
    public function testBuildOne(): void
22
    {
23
        $this->assertEquals(
24
            'a',
25
            GroupKeyword::build(
26
                new GroupKeyword(new Expression('a'))
27
            )
28
        );
29
    }
30
31
    public function testBuildMany(): void
32
    {
33
        $this->assertEquals(
34
            'a, b, c',
35
            GroupKeyword::build(
36
                [
37
                    new GroupKeyword(new Expression('a')),
38
                    new GroupKeyword(new Expression('b')),
39
                    new GroupKeyword(new Expression('c')),
40
                ]
41
            )
42
        );
43
    }
44
45
    public function testBuildUntrimmedSingleExpression(): void
46
    {
47
        $this->assertEquals(
48
            'o',
49
            GroupKeyword::build(
50
                new GroupKeyword(new Expression('  o  '))
51
            )
52
        );
53
    }
54
55
    public function testBuildUntrimmedExpressions(): void
56
    {
57
        $this->assertEquals(
58
            'x, y, z',
59
            GroupKeyword::build(
60
                [
61
                    new GroupKeyword(new Expression('  x')),
62
                    new GroupKeyword(new Expression('y  ')),
63
                    new GroupKeyword(new Expression('  z  ')),
64
                ]
65
            )
66
        );
67
    }
68
}
69