FOSSology  4.5.1
Open Source License Compliance by Open Source Software
DeciderTest.php
Go to the documentation of this file.
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2020 Siemens AG
4  Author: Gaurav Mishra <mishra.gaurav@siemens.com>
5 
6  SPDX-License-Identifier: GPL-2.0-only
7 */
14 
17 
22 class DeciderTest extends \PHPUnit\Framework\TestCase
23 {
30  public function testSetUsingArrayV1()
31  {
32  $this->testSetUsingArray(ApiVersion::V1);
33  }
34 
41  public function testSetUsingArrayV2()
42  {
43  $this->testSetUsingArray(ApiVersion::V2);
44  }
45 
51  private function testSetUsingArray($version)
52  {
53  if ($version == ApiVersion::V1) {
54  $deciderArray = [
55  "nomos_monk" => true,
56  "bulk_reused" => false,
57  "ojo_decider" => (1==1),
58  "conclude_license_type" => " Permissive ",
59  "copyright_deactivation" => false,
60  "copyright_clutter_removal" => true
61  ];
62  } else {
63  $deciderArray = [
64  "nomosMonk" => true,
65  "bulkReused" => false,
66  "ojoDecider" => (1==1),
67  "concludeLicenseType" => " Permissive ",
68  "copyrightDeactivation" => false,
69  "copyrightClutterRemoval" => true
70  ];
71  }
72 
73  $expectedObject = new Decider(true, false, false, true, "Permissive", false, true);
74 
75  $actualObject = new Decider();
76  $actualObject->setUsingArray($deciderArray, $version);
77 
78  $this->assertEquals($expectedObject, $actualObject);
79  }
80 
87  public function testDataFormatV1()
88  {
89  $this->testDataFormat(ApiVersion::V1);
90  }
91 
98  public function testDataFormatV2()
99  {
100  $this->testDataFormat(ApiVersion::V2);
101  }
102 
108  private function testDataFormat($version)
109  {
110  if ($version == ApiVersion::V1) {
111  $expectedArray = [
112  "nomos_monk" => true,
113  "bulk_reused" => false,
114  "new_scanner" => false,
115  "ojo_decider" => true,
116  "conclude_license_type" => "Permissive",
117  "copyright_deactivation" => false,
118  "copyright_clutter_removal" => false
119  ];
120  } else {
121  $expectedArray = [
122  "nomosMonk" => true,
123  "bulkReused" => false,
124  "newScanner" => false,
125  "ojoDecider" => true,
126  "concludeLicenseType" => "Permissive",
127  "copyrightDeactivation" => false,
128  "copyrightClutterRemoval" => false
129  ];
130  }
131 
132  $actualObject = new Decider();
133  $actualObject->setNomosMonk(true);
134  $actualObject->setOjoDecider(true);
135  $actualObject->setConcludeLicenseType(" Permissive ");
136 
137  $this->assertEquals($expectedArray, $actualObject->getArray($version));
138  }
139 }