FOSSology  4.5.1
Open Source License Compliance by Open Source Software
FindingsTest.php
Go to the documentation of this file.
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2025 Harshit Gandhi <gandhiharshit716@gmail.com>
4  SPDX-License-Identifier: GPL-2.0-only
5 */
6 
13 
15 use PHPUnit\Framework\TestCase;
16 
21 class FindingsTest extends TestCase
22 {
24  private $scannerData = ["GPL-2.0", "MIT"];
25  private $conclusionData = ["Apache-2.0"];
26  private $copyrightData = ["Copyright 2020 Siemens AG", "Copyright 2021 Example Corp"];
27 
29 
35  public function testConstructor()
36  {
37  $findings = new Findings($this->scannerData, $this->conclusionData, $this->copyrightData);
38  $this->assertInstanceOf(Findings::class, $findings);
39  }
40 
42 
47  public function testGetScanner()
48  {
49  $findings = new Findings($this->scannerData);
50  $this->assertEquals($this->scannerData, $findings->getScanner());
51  }
52 
57  public function testGetConclusion()
58  {
59  $findings = new Findings(null, $this->conclusionData);
60  $this->assertEquals($this->conclusionData, $findings->getConclusion());
61  }
62 
67  public function testGetCopyright()
68  {
69  $findings = new Findings(null, null, $this->copyrightData);
70  $this->assertEquals($this->copyrightData, $findings->getCopyright());
71  }
72 
74 
79  public function testSetScannerWithArrayData()
80  {
81  $findings = new Findings();
82  $findings->setScanner($this->scannerData);
83  $this->assertEquals($this->scannerData, $findings->getScanner());
84  }
85 
90  public function testSetScannerWithStringData()
91  {
92  $findings = new Findings();
93  $scanner = "GPL-2.0";
94  $findings->setScanner($scanner);
95  $this->assertEquals([$scanner], $findings->getScanner());
96  }
97 
103  {
104  $findings = new Findings();
105  $findings->setConclusion($this->conclusionData);
106  $this->assertEquals($this->conclusionData, $findings->getConclusion());
107  }
108 
114  {
115  $findings = new Findings();
116  $conclusion = "Apache-2.0";
117  $findings->setConclusion($conclusion);
118  $this->assertEquals([$conclusion], $findings->getConclusion());
119  }
120 
126  {
127  $findings = new Findings();
128  $findings->setCopyright($this->copyrightData);
129  $this->assertEquals($this->copyrightData, $findings->getCopyright());
130  }
131 
137  {
138  $findings = new Findings();
139  $copyright = "Copyright 2020 Siemens AG";
140  $findings->setCopyright($copyright);
141  $this->assertEquals([$copyright], $findings->getCopyright());
142  }
143 
149  {
150  $findings = new Findings();
151  $findings->setScanner($this->scannerData);
152  $findings->setConclusion($this->conclusionData);
153  $findings->setCopyright($this->copyrightData);
154 
155  $findings->setScanner(null);
156  $findings->setConclusion(null);
157  $findings->setCopyright(null);
158 
159  $this->assertEquals($this->scannerData, $findings->getScanner());
160  $this->assertEquals($this->conclusionData, $findings->getConclusion());
161  $this->assertEquals($this->copyrightData, $findings->getCopyright());
162  }
163 
165 
170  public function testGetArrayWithFullData()
171  {
172  $findings = new Findings($this->scannerData, $this->conclusionData, $this->copyrightData);
173 
174  $expectedArray = [
175  'scanner' => $this->scannerData,
176  'conclusion' => $this->conclusionData,
177  'copyright' => $this->copyrightData
178  ];
179 
180  $this->assertEquals($expectedArray, $findings->getArray());
181  }
182 
187  public function testGetArrayWithNullValues()
188  {
189  $findings = new Findings(null, null, null);
190 
191  $expectedArray = [
192  'scanner' => null,
193  'conclusion' => null,
194  'copyright' => null
195  ];
196 
197  $this->assertEquals($expectedArray, $findings->getArray());
198  }
199 
204  public function testGetArrayWithMixedData()
205  {
206  $findings = new Findings(
207  "GPL-2.0",
208  ["Apache-2.0", "MIT"],
209  "Copyright 2020 Siemens AG"
210  );
211 
212  $expectedArray = [
213  'scanner' => ["GPL-2.0"],
214  'conclusion' => ["Apache-2.0", "MIT"],
215  'copyright' => ["Copyright 2020 Siemens AG"]
216  ];
217 
218  $this->assertEquals($expectedArray, $findings->getArray());
219  }
220 }
Model holding information about license findings and conclusions.
Definition: Findings.php:18