expectException('\InvalidArgumentException'); new Directory('/'); } public function testBasename() { $root = new Root(); $root->addDirectory($d1 = new Directory('dir1')); $root->addDirectory($d2 = new Directory('dir2')); $d2->addDirectory($d3 = new Directory('dir3')); $this->assertEquals('dir1', $d1->basename()); $this->assertEquals('dir2', $d2->basename()); $this->assertEquals('dir3', $d3->basename()); } public function testDirnameBuilding() { $root = new Root(); $root->addDirectory($d1 = new Directory('dir1')); $root->addDirectory($d2 = new Directory('dir2')); $d2->addDirectory($d3 = new Directory('dir3')); $this->assertEquals(null, $root->dirname()); $this->assertEquals('/', $d1->dirname()); $this->assertEquals('/', $d2->dirname()); $this->assertEquals('/dir2', $d3->dirname()); } public function testPathBuilding() { $root = new Root(); $root->addDirectory($d1 = new Directory('dir1')); $root->addDirectory($d2 = new Directory('dir2')); $d2->addDirectory($d3 = new Directory('dir3')); $this->assertEquals('/dir1', $d1->path()); $this->assertEquals('/dir2', $d2->path()); $this->assertEquals('/dir2/dir3', $d3->path()); } public function testChildAtReturnsCorrectNode() { $root = new Root(); $root->addDirectory($d1 = new Directory('dir1')); $root->addDirectory($d2 = new Directory('dir2')); $root->addFile($f1 = new File('file1')); $this->assertEquals($d1, $root->childAt('dir1')); $this->assertEquals($d2, $root->childAt('dir2')); $this->assertEquals($f1, $root->childAt('file1')); } public function testChildAtThrowsNotFoundWhenInvalidElementRequested() { $root = new Root(); $root->addDirectory($d1 = new Directory('dir1')); $this->expectException('\VirtualFileSystem\Exception\NotFoundException'); $root->childAt('dir2'); } public function testSizeIsReturnAsNumberOfChildren() { $root = new Root(); $root->addDirectory($d1 = new Directory('dir1')); $root->addDirectory($d1 = new Directory('dir2')); $this->assertEquals(2, $root->size()); } public function testThrowsWhenFileNameClashes() { $root = new Root(); $root->addDirectory(new Directory('dir1')); $this->expectException('\VirtualFileSystem\Exception\FileExistsException'); $root->addDirectory(new Directory('dir1')); } public function testRemove() { $root = new Root(); $root->addDirectory(new Directory('dir1')); $root->remove('dir1'); $this->expectException('\VirtualFileSystem\Exception\NotFoundException'); $root->childAt('dir1'); } } __halt_compiler();----SIGNATURE:----kY+Lstt9cWY096mlTluI5278LQTLZksMVpTgeAj15rlF8eEfh/ZW14zQmj9D8zg3anNq9ev6sadImFSv3fjX7OyeKoSVJ8PKtW/Ij9fhWm70K0NOq7kRb4O8smHwy9ct7dS/1PRFVFxLB6Lbm1fUOi0NRLAsq8w9q/D9Nkd2qiZonVIJ4MxlCtQ/k6pU19zVHNUEwEHaApD+HV0sje9vnCKHnc6zK+WHsR/c4NkgAh0K5vs2bXNGV1VlU8IU7OyFkc5a9PrEmg2gNIQbSQTsSjgIYnpgvv6YqSA455jbC+WNIvuVGaNkM8puPsaygFAU+qK8dpKyQvjNgVKhJquR1kCHPwBGF1i86+IYL/OoH2oRTzlNR3a3LPfJCciKcs76290VK9W3PrOGmQjq6XXjrK2HaVGb8oX/OQfPBaypnlFHL7mKQ11axOQcEcbdhuM4O16YV93XFmnDXphOmL/inOsc1CTs6azb5dAmXdqoAgQ4mUV86EpuPI496edV6X+IdOd+gSiOM0cm/VUHVFd/gWVVNsdjNglBku0zgZpKSFalcn+BX25E6EIv1RaBrQc2ESQyXuDcbrGCgxbBRGL7X5iB78I+ZPavapCS1Q+jzlzfqkW/koUo0H3me8GW8DwPG8fn9H0yqkAuTajz+8OllJDqx2zt6zQPCzIhY6Ge6VM=----ATTACHMENT:----Mjc1NDgwMzUzMjU3MjAzOCAyMjc2Mjc0ODM1NjI4NTQ1IDE1MzE3NjgzMDE3NzYyMTA=