FOSSology  4.4.0
Open Source License Compliance by Open Source Software
ItemTest.php
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2014 Siemens AG
4  Author: Andreas Würl
5 
6  SPDX-License-Identifier: GPL-2.0-only
7 */
8 
9 namespace Fossology\Lib\Data\Tree;
10 
11 use Mockery as M;
12 
13 require_once(__DIR__ . '/../../../common-dir.php');
14 
15 class ItemTest extends \PHPUnit\Framework\TestCase
16 {
17  private $id = 234;
18  private $parentId = 432;
19  private $fileId = 123;
20  private $fileMode = 21;
21  private $fileName = "<fileName>";
23  private $itemTreeBounds;
25  private $item;
26 
27  protected function setUp() : void
28  {
29  $this->itemTreeBounds = M::mock(ItemTreeBounds::class);
30 
31  $this->item = new Item($this->itemTreeBounds, $this->parentId, $this->fileId, $this->fileMode, $this->fileName);
32  }
33 
34  protected function tearDown() : void
35  {
36  M::close();
37  }
38 
39  public function testGetId()
40  {
41  $this->itemTreeBounds->shouldReceive("getItemId")->once()->withNoArgs()->andReturn($this->id);
42 
43  assertThat($this->item->getId(), is($this->id));
44  }
45 
46  public function testGetParentId()
47  {
48  assertThat($this->item->getParentId(), is($this->parentId));
49  }
50 
51  public function testGetFileMode()
52  {
53  assertThat($this->item->getFileMode(), is($this->fileMode));
54  }
55 
56  public function testGetFileName()
57  {
58  assertThat($this->item->getFileName(), is($this->fileName));
59  }
60 
61  public function testGetFileId()
62  {
63  assertThat($this->item->getFileId(), is($this->fileId));
64  }
65 
66  public function testGetItemTreeBounds()
67  {
68  assertThat($this->item->getItemTreeBounds(), is($this->itemTreeBounds));
69  }
70 
71  public function testContainsFileTreeItems()
72  {
73  $this->itemTreeBounds->shouldReceive("containsFiles")->withNoArgs()->andReturn(true);
74 
75  $this->assertTrue($this->item->containsFileTreeItems());
76  }
77 
78  public function testDoesNotContainFileTreeItems()
79  {
80  $this->itemTreeBounds->shouldReceive("containsFiles")->withNoArgs()->andReturn(false);
81 
82  $this->assertFalse($this->item->containsFileTreeItems());
83  }
84 
85  public function testHasParent()
86  {
87  $this->assertTrue($this->item->hasParent());
88  }
89 
90  public function testHasNoParent()
91  {
92  $this->item = new Item($this->itemTreeBounds, null, $this->fileId,
93  $this->fileMode, $this->fileName);
94  $this->assertFalse($this->item->hasParent());
95  }
96 
97  public function testIsContainer()
98  {
99  $this->assertFalse($this->item->isContainer());
100  }
101 
102  public function testIsFile()
103  {
104  $this->assertTrue($this->item->isFile());
105  }
106 }