Passed
Push — master ( 9aadc1...ed42e4 )
by Kirill
03:38
created

ValueWrapperTest   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 79
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 10
eloc 29
dl 0
loc 79
rs 10
c 0
b 0
f 0

10 Methods

Rating   Name   Duplication   Size   Complexity  
A testObject() 0 5 1
A testNull() 0 5 1
A testInteger() 0 5 1
A testArray() 0 5 1
A testAggregateMultipleValues() 0 10 1
A testAggregateValuesInline() 0 6 1
A testString() 0 5 1
A testAggregateValues() 0 6 1
A testBool() 0 6 1
A testDoNotAggregateValues() 0 6 1
1
<?php
2
3
/**
4
 * Spiral Framework.
5
 *
6
 * @license   MIT
7
 * @author    Anton Titov (Wolfy-J)
8
 */
9
10
declare(strict_types=1);
11
12
namespace Spiral\Tests\Exceptions;
13
14
use PHPUnit\Framework\TestCase;
15
use Spiral\Debug\Dumper;
16
use Spiral\Debug\Renderer\PlainRenderer;
17
use Spiral\Exceptions\HandlerInterface;
18
use Spiral\Exceptions\ValueWrapper;
19
20
class ValueWrapperTest extends TestCase
21
{
22
    public function testInteger(): void
23
    {
24
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), 0);
25
26
        $this->assertStringContainsString('100', implode(',', $wrapper->wrap([100])));
27
    }
28
29
    public function testString(): void
30
    {
31
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), 0);
32
33
        $this->assertStringContainsString('string', implode(',', $wrapper->wrap(['hello world'])));
34
    }
35
36
    public function testArray(): void
37
    {
38
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), 0);
39
40
        $this->assertStringContainsString('array', implode(',', $wrapper->wrap([['hello world']])));
41
    }
42
43
    public function testNull(): void
44
    {
45
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), 0);
46
47
        $this->assertStringContainsString('null', implode(',', $wrapper->wrap([null])));
48
    }
49
50
    public function testBool(): void
51
    {
52
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), 0);
53
54
        $this->assertStringContainsString('true', implode(',', $wrapper->wrap([true])));
55
        $this->assertStringContainsString('false', implode(',', $wrapper->wrap([false])));
56
    }
57
58
    public function testObject(): void
59
    {
60
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), 0);
61
62
        $this->assertStringContainsString('Dumper', implode(',', $wrapper->wrap([new Dumper()])));
63
    }
64
65
    public function testDoNotAggregateValues(): void
66
    {
67
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), 0);
68
69
        $this->assertStringContainsString('100', implode(',', $wrapper->wrap([100])));
70
        $this->assertCount(0, $wrapper->getValues());
71
    }
72
73
    public function testAggregateValues(): void
74
    {
75
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), HandlerInterface::VERBOSITY_DEBUG);
76
77
        $this->assertStringContainsString('string', implode(',', $wrapper->wrap(['hello'])));
78
        $this->assertCount(1, $wrapper->getValues());
79
    }
80
81
    public function testAggregateMultipleValues(): void
82
    {
83
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), HandlerInterface::VERBOSITY_DEBUG);
84
85
        $this->assertStringContainsString('string', implode(',', $wrapper->wrap(['hello'])));
86
        $this->assertStringContainsString('string', implode(',', $wrapper->wrap(['hello'])));
87
        $this->assertStringContainsString('string', implode(',', $wrapper->wrap(['hello'])));
88
        $this->assertStringContainsString('string', implode(',', $wrapper->wrap(['hello'])));
89
90
        $this->assertCount(1, $wrapper->getValues());
91
    }
92
93
    public function testAggregateValuesInline(): void
94
    {
95
        $wrapper = new ValueWrapper(new Dumper(), new PlainRenderer(), HandlerInterface::VERBOSITY_DEBUG);
96
97
        $this->assertStringContainsString('100', implode(',', $wrapper->wrap([100])));
98
        $this->assertCount(0, $wrapper->getValues());
99
    }
100
}
101