FiltersBuilderTest::testRemoveTrailing()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace SixtyNine\Cloud\Tests\Builder;
4
5
6
use SixtyNine\Cloud\Builder\FiltersBuilder;
7
use SixtyNine\Cloud\Filters\Filters;
8
use SixtyNine\Cloud\Filters\ChangeCase;
9
use SixtyNine\Cloud\Filters\RemoveByLength;
10
use SixtyNine\Cloud\Filters\RemoveCharacters;
11
use SixtyNine\Cloud\Filters\RemoveNumbers;
12
use SixtyNine\Cloud\Filters\RemoveTrailingCharacters;
13
use PHPUnit\Framework\TestCase;
14
15
class FiltersBuilderTest extends TestCase
16
{
17
    public function testConstructor()
18
    {
19
        $filters = FiltersBuilder::create()
20
            ->setRemoveNumbers(false)
21
            ->setRemoveTrailing(false)
22
            ->setRemoveUnwanted(false)
23
            ->build()
24
        ;
25
        $this->assertInstanceOf(Filters::class, $filters);
26
        $this->assertEquals(array(), $filters->getFilters());
27
    }
28
29
    public function testSetCase()
30
    {
31
        $filters = FiltersBuilder::create()
32
            ->setRemoveNumbers(false)
33
            ->setRemoveTrailing(false)
34
            ->setRemoveUnwanted(false)
35
            ->setCase('uppercase')
36
            ->build()
37
        ;
38
        $this->assertInstanceOf(Filters::class, $filters);
39
        $this->assertInstanceOf(ChangeCase::class, $filters->getFilters()[0]);
40
        $this->assertAttributeEquals('uppercase', 'case', $filters->getFilters()[0]);
41
    }
42
43
    public function testRemoveNumbers()
44
    {
45
        $filters = FiltersBuilder::create()
46
            ->setRemoveNumbers(true)
47
            ->setRemoveTrailing(false)
48
            ->setRemoveUnwanted(false)
49
            ->build()
50
        ;
51
        $this->assertInstanceOf(Filters::class, $filters);
52
        $this->assertInstanceOf(RemoveNumbers::class, $filters->getFilters()[0]);
53
    }
54
55
    public function testRemoveTrailing()
56
    {
57
        $filters = FiltersBuilder::create()
58
            ->setRemoveNumbers(false)
59
            ->setRemoveTrailing(true)
60
            ->setRemoveUnwanted(false)
61
            ->build()
62
        ;
63
        $this->assertInstanceOf(Filters::class, $filters);
64
        $this->assertInstanceOf(RemoveTrailingCharacters::class, $filters->getFilters()[0]);
65
    }
66
67
    public function testRemoveUnwanted()
68
    {
69
        $filters = FiltersBuilder::create()
70
            ->setRemoveNumbers(false)
71
            ->setRemoveTrailing(false)
72
            ->setRemoveUnwanted(true)
73
            ->build()
74
        ;
75
        $this->assertInstanceOf(Filters::class, $filters);
76
        $this->assertInstanceOf(RemoveCharacters::class, $filters->getFilters()[0]);
77
    }
78
79
    public function testMinMaxLength()
80
    {
81
        $filters = FiltersBuilder::create()
82
            ->setRemoveNumbers(false)
83
            ->setRemoveTrailing(false)
84
            ->setRemoveUnwanted(false)
85
            ->setMinLength(5)
86
            ->setMaxLength(15)
87
            ->build()
88
        ;
89
        $this->assertInstanceOf(Filters::class, $filters);
90
        $this->assertInstanceOf(RemoveByLength::class, $filters->getFilters()[0]);
91
        $this->assertAttributeEquals(5, 'minLength', $filters->getFilters()[0]);
92
        $this->assertAttributeEquals(15, 'maxLength', $filters->getFilters()[0]);
93
    }
94
}
95