Passed
Push — master ( fde232...1ea99c )
by Petr
04:13 queued 01:48
created

NodeTest::testSubNodes()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 40
Code Lines 35

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 35
dl 0
loc 40
rs 9.36
c 2
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace BasicTests;
4
5
6
use kalanis\kw_files\Interfaces\ITypes;
7
use kalanis\kw_tree\Essentials\FileNode;
8
9
10
class NodeTest extends \CommonTestClass
11
{
12
    public function testBasic(): void
13
    {
14
        $lib = new FileNode();
15
        $this->assertEquals([], $lib->getSubNodes());
16
        $this->assertEquals([], $lib->getPath());
17
        $this->assertEquals(0, $lib->getSize());
18
        $this->assertEquals(ITypes::TYPE_UNKNOWN, $lib->getType());
19
        $this->assertFalse($lib->isReadable());
20
        $this->assertFalse($lib->isWritable());
21
        $this->assertFalse($lib->isFile());
22
        $this->assertFalse($lib->isDir());
23
        $this->assertFalse($lib->isLink());
24
25
        $lib->setData(['foo', 'bar', 'baz'], 33, ITypes::TYPE_LINK, false, true);
26
        $this->assertEquals([], $lib->getSubNodes());
27
        $this->assertEquals(['foo', 'bar', 'baz'], $lib->getPath());
28
        $this->assertEquals(33, $lib->getSize());
29
        $this->assertEquals(ITypes::TYPE_LINK, $lib->getType());
30
        $this->assertFalse($lib->isReadable());
31
        $this->assertTrue($lib->isWritable());
32
        $this->assertFalse($lib->isFile());
33
        $this->assertFalse($lib->isDir());
34
        $this->assertTrue($lib->isLink());
35
36
        $lib->setData(['foo', 'baz'], 813, ITypes::TYPE_DIR, true, true);
37
        $this->assertEquals([], $lib->getSubNodes());
38
        $this->assertEquals(['foo', 'baz'], $lib->getPath());
39
        $this->assertEquals(813, $lib->getSize());
40
        $this->assertEquals(ITypes::TYPE_DIR, $lib->getType());
41
        $this->assertTrue($lib->isReadable());
42
        $this->assertTrue($lib->isWritable());
43
        $this->assertFalse($lib->isFile());
44
        $this->assertTrue($lib->isDir());
45
        $this->assertFalse($lib->isLink());
46
    }
47
48
    public function testSubNodes(): void
49
    {
50
        $lib1 = new FileNode();
51
        $this->assertEquals([], $lib1->getSubNodes());
52
        $this->assertEquals([], $lib1->getPath());
53
        $this->assertEquals(0, $lib1->getSize());
54
        $this->assertEquals(ITypes::TYPE_UNKNOWN, $lib1->getType());
55
        $this->assertFalse($lib1->isReadable());
56
        $this->assertFalse($lib1->isWritable());
57
        $this->assertFalse($lib1->isFile());
58
        $this->assertFalse($lib1->isDir());
59
        $this->assertFalse($lib1->isLink());
60
61
        $lib2 = new FileNode();
62
        $lib2->setData(['foo', 'bar', 'baz'], 33, ITypes::TYPE_LINK, false, true);
63
        $this->assertEquals([], $lib2->getSubNodes());
64
        $this->assertEquals(['foo', 'bar', 'baz'], $lib2->getPath());
65
        $this->assertEquals(33, $lib2->getSize());
66
        $this->assertEquals(ITypes::TYPE_LINK, $lib2->getType());
67
        $this->assertFalse($lib2->isReadable());
68
        $this->assertTrue($lib2->isWritable());
69
        $this->assertFalse($lib2->isFile());
70
        $this->assertFalse($lib2->isDir());
71
        $this->assertTrue($lib2->isLink());
72
73
        $lib3 = new FileNode();
74
        $lib3->setData(['foo', 'baz'], 813, ITypes::TYPE_DIR, true, true);
75
        $this->assertEquals([], $lib3->getSubNodes());
76
        $this->assertEquals(['foo', 'baz'], $lib3->getPath());
77
        $this->assertEquals(813, $lib3->getSize());
78
        $this->assertEquals(ITypes::TYPE_DIR, $lib3->getType());
79
        $this->assertTrue($lib3->isReadable());
80
        $this->assertTrue($lib3->isWritable());
81
        $this->assertFalse($lib3->isFile());
82
        $this->assertTrue($lib3->isDir());
83
        $this->assertFalse($lib3->isLink());
84
85
        $lib1->addSubNode($lib2);
86
        $lib1->addSubNode($lib3);
87
        $this->assertNotEmpty($lib1->getSubNodes());
88
    }
89
}
90