Test Setup Failed
Push — test ( 24878d...6ecee8 )
by Jonathan
02:38
created

InstanceObjectTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 60
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

Changes 0
Metric Value
dl 0
loc 60
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 6
1
<?php
2
3
namespace Kint\Test\Object;
4
5
use Kint\Object\BasicObject;
6
use Kint\Object\InstanceObject;
7
use Kint\Parser\Parser;
8
use Kint\Test\Fixtures\ChildTestClass;
9
use Kint\Test\Fixtures\TestClass;
10
use PHPUnit_Framework_TestCase;
11
use stdClass;
12
13
class InstanceObjectTest extends PHPUnit_Framework_TestCase
14
{
15
    /**
16
     * @covers \Kint\Object\InstanceObject::sortByHierarchy
17
     */
18
    public function testSortByHierarchy()
19
    {
20
        $this->assertEquals(1, InstanceObject::sortByHierarchy('Kint\\Test\\Fixtures\\TestClass', 'Kint\\Test\\Fixtures\\ChildTestClass'));
21
        $this->assertEquals(-1, InstanceObject::sortByHierarchy('Kint\\Test\\Fixtures\\ChildTestClass', 'Kint\\Test\\Fixtures\\TestClass'));
22
        $this->assertEquals(0, InstanceObject::sortByHierarchy('Kint\\Test\\Fixtures\\TestClass', 'Kint\\Test\\Fixtures\\TestClass'));
23
        $this->assertEquals(0, InstanceObject::sortByHierarchy(new stdClass(), 'Kint\\Test\\Fixtures\\TestClass'));
24
25
        $p = new Parser();
26
        $b = BasicObject::blank('$v');
27
28
        $tc = new TestClass();
29
        $ctc = new ChildTestClass();
30
31
        $tc = $p->parse($tc, clone $b);
32
        $ctc = $p->parse($ctc, clone $b);
33
34
        $this->assertEquals(1, InstanceObject::sortByHierarchy($tc, $ctc));
35
        $this->assertEquals(-1, InstanceObject::sortByHierarchy($ctc, $tc));
36
        $this->assertEquals(0, InstanceObject::sortByHierarchy($tc, $tc));
37
        $this->assertEquals(0, InstanceObject::sortByHierarchy($tc, $b));
38
    }
39
40
    /**
41
     * @covers \Kint\Object\InstanceObject::transplant
42
     */
43
    public function testTransplant()
44
    {
45
        $p = new Parser();
46
        $b = BasicObject::blank('$v');
47
        $v = new ChildTestClass();
48
49
        $o = $p->parse($v, clone $b);
50
51
        $o2 = $o->transplant(new InstanceObject());
52
53
        $o->hints[] = 'object';
54
55
        $this->assertEquals($o, $o2);
56
        $this->assertNotSame($o, $o2);
57
    }
58
59
    /**
60
     * @covers \Kint\Object\InstanceObject::getType
61
     */
62
    public function testGetType()
63
    {
64
        $p = new Parser();
65
        $b = BasicObject::blank('$v');
66
        $v = new ChildTestClass();
67
68
        $o = $p->parse($v, clone $b);
69
70
        $this->assertEquals('Kint\\Test\\Fixtures\\ChildTestClass', $o->getType());
71
    }
72
}
73