This commit is contained in:
Thomas Peterson 2025-07-29 14:23:31 +02:00
parent 71cfbe24a0
commit 5abe284f6c
4 changed files with 214 additions and 137 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd"> <!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage line-rate="0.74802431610942" branch-rate="0" lines-covered="2461" lines-valid="3290" branches-covered="0" branches-valid="0" complexity="1418" version="0.4" timestamp="1753454350"> <coverage line-rate="0.75030339805825" branch-rate="0" lines-covered="2473" lines-valid="3296" branches-covered="0" branches-valid="0" complexity="1420" version="0.4" timestamp="1753639034">
<sources> <sources>
<source>/home/thomas/projekte/calc/src</source> <source>/home/thomas/projekte/calc/src</source>
</sources> </sources>
@ -5529,12 +5529,12 @@
</method> </method>
<method name="fromXML" signature="SimpleXMLElement $node" line-rate="1" branch-rate="0" complexity="1"> <method name="fromXML" signature="SimpleXMLElement $node" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="27" hits="190"/> <line number="27" hits="191"/>
</lines> </lines>
</method> </method>
<method name="fromJson" signature="array $json" line-rate="1" branch-rate="0" complexity="1"> <method name="fromJson" signature="array $json" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="32" hits="9"/> <line number="32" hits="10"/>
</lines> </lines>
</method> </method>
<method name="toJson" signature="" line-rate="0" branch-rate="0" complexity="1"> <method name="toJson" signature="" line-rate="0" branch-rate="0" complexity="1">
@ -5549,45 +5549,45 @@
</method> </method>
<method name="parseJson" signature="" line-rate="0.83333333333333" branch-rate="0" complexity="6"> <method name="parseJson" signature="" line-rate="0.83333333333333" branch-rate="0" complexity="6">
<lines> <lines>
<line number="45" hits="9"/> <line number="45" hits="10"/>
<line number="46" hits="9"/> <line number="46" hits="10"/>
<line number="47" hits="7"/> <line number="47" hits="8"/>
<line number="49" hits="9"/> <line number="49" hits="10"/>
<line number="50" hits="7"/> <line number="50" hits="8"/>
<line number="52" hits="9"/> <line number="52" hits="10"/>
<line number="53" hits="5"/> <line number="53" hits="5"/>
<line number="55" hits="9"/> <line number="55" hits="10"/>
<line number="56" hits="0"/> <line number="56" hits="0"/>
<line number="58" hits="9"/> <line number="58" hits="10"/>
<line number="59" hits="0"/> <line number="59" hits="0"/>
<line number="62" hits="9"/> <line number="62" hits="10"/>
</lines> </lines>
</method> </method>
<method name="parseXML" signature="" line-rate="1" branch-rate="0" complexity="15"> <method name="parseXML" signature="" line-rate="1" branch-rate="0" complexity="15">
<lines> <lines>
<line number="67" hits="190"/> <line number="67" hits="191"/>
<line number="68" hits="190"/> <line number="68" hits="191"/>
<line number="70" hits="190"/> <line number="70" hits="191"/>
<line number="71" hits="184"/> <line number="71" hits="185"/>
<line number="73" hits="190"/> <line number="73" hits="191"/>
<line number="74" hits="86"/> <line number="74" hits="86"/>
<line number="76" hits="190"/> <line number="76" hits="191"/>
<line number="77" hits="5"/> <line number="77" hits="5"/>
<line number="79" hits="190"/> <line number="79" hits="191"/>
<line number="80" hits="43"/> <line number="80" hits="43"/>
<line number="82" hits="190"/> <line number="82" hits="191"/>
<line number="83" hits="17"/> <line number="83" hits="17"/>
<line number="85" hits="190"/> <line number="85" hits="191"/>
<line number="86" hits="4"/> <line number="86" hits="4"/>
<line number="88" hits="190"/> <line number="88" hits="191"/>
<line number="89" hits="31"/> <line number="89" hits="31"/>
<line number="91" hits="190"/> <line number="91" hits="191"/>
<line number="92" hits="7"/> <line number="92" hits="7"/>
<line number="94" hits="190"/> <line number="94" hits="191"/>
<line number="95" hits="4"/> <line number="95" hits="4"/>
<line number="97" hits="190"/> <line number="97" hits="191"/>
<line number="98" hits="1"/> <line number="98" hits="1"/>
<line number="101" hits="190"/> <line number="101" hits="191"/>
</lines> </lines>
</method> </method>
<method name="getBoolean" signature="$value" line-rate="1" branch-rate="0" complexity="3"> <method name="getBoolean" signature="$value" line-rate="1" branch-rate="0" complexity="3">
@ -5600,45 +5600,45 @@
</methods> </methods>
<lines> <lines>
<line number="22" hits="140"/> <line number="22" hits="140"/>
<line number="27" hits="190"/> <line number="27" hits="191"/>
<line number="32" hits="9"/> <line number="32" hits="10"/>
<line number="37" hits="0"/> <line number="37" hits="0"/>
<line number="41" hits="0"/> <line number="41" hits="0"/>
<line number="45" hits="9"/> <line number="45" hits="10"/>
<line number="46" hits="9"/> <line number="46" hits="10"/>
<line number="47" hits="7"/> <line number="47" hits="8"/>
<line number="49" hits="9"/> <line number="49" hits="10"/>
<line number="50" hits="7"/> <line number="50" hits="8"/>
<line number="52" hits="9"/> <line number="52" hits="10"/>
<line number="53" hits="5"/> <line number="53" hits="5"/>
<line number="55" hits="9"/> <line number="55" hits="10"/>
<line number="56" hits="0"/> <line number="56" hits="0"/>
<line number="58" hits="9"/> <line number="58" hits="10"/>
<line number="59" hits="0"/> <line number="59" hits="0"/>
<line number="62" hits="9"/> <line number="62" hits="10"/>
<line number="67" hits="190"/> <line number="67" hits="191"/>
<line number="68" hits="190"/> <line number="68" hits="191"/>
<line number="70" hits="190"/> <line number="70" hits="191"/>
<line number="71" hits="184"/> <line number="71" hits="185"/>
<line number="73" hits="190"/> <line number="73" hits="191"/>
<line number="74" hits="86"/> <line number="74" hits="86"/>
<line number="76" hits="190"/> <line number="76" hits="191"/>
<line number="77" hits="5"/> <line number="77" hits="5"/>
<line number="79" hits="190"/> <line number="79" hits="191"/>
<line number="80" hits="43"/> <line number="80" hits="43"/>
<line number="82" hits="190"/> <line number="82" hits="191"/>
<line number="83" hits="17"/> <line number="83" hits="17"/>
<line number="85" hits="190"/> <line number="85" hits="191"/>
<line number="86" hits="4"/> <line number="86" hits="4"/>
<line number="88" hits="190"/> <line number="88" hits="191"/>
<line number="89" hits="31"/> <line number="89" hits="31"/>
<line number="91" hits="190"/> <line number="91" hits="191"/>
<line number="92" hits="7"/> <line number="92" hits="7"/>
<line number="94" hits="190"/> <line number="94" hits="191"/>
<line number="95" hits="4"/> <line number="95" hits="4"/>
<line number="97" hits="190"/> <line number="97" hits="191"/>
<line number="98" hits="1"/> <line number="98" hits="1"/>
<line number="101" hits="190"/> <line number="101" hits="191"/>
<line number="106" hits="91"/> <line number="106" hits="91"/>
<line number="107" hits="91"/> <line number="107" hits="91"/>
<line number="109" hits="3"/> <line number="109" hits="3"/>
@ -6090,26 +6090,34 @@
</class> </class>
</classes> </classes>
</package> </package>
<package name="Option/Parser/Media.php" line-rate="0" branch-rate="0" complexity="2"> <package name="Option/Parser/Media.php" line-rate="1" branch-rate="0" complexity="3">
<classes> <classes>
<class name="PSC\Library\Calc\Option\Parser\Media" filename="Option/Parser/Media.php" line-rate="0" branch-rate="0" complexity="2"> <class name="PSC\Library\Calc\Option\Parser\Media" filename="Option/Parser/Media.php" line-rate="1" branch-rate="0" complexity="3">
<methods> <methods>
<method name="__construct" signature="" line-rate="0" branch-rate="0" complexity="1"> <method name="__construct" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="13" hits="0"/> <line number="13" hits="2"/>
</lines> </lines>
</method> </method>
<method name="parseXML" signature="" line-rate="0" branch-rate="0" complexity="1"> <method name="parseJson" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="18" hits="0"/> <line number="18" hits="1"/>
<line number="20" hits="0"/> <line number="20" hits="1"/>
</lines>
</method>
<method name="parseXML" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="25" hits="1"/>
<line number="27" hits="1"/>
</lines> </lines>
</method> </method>
</methods> </methods>
<lines> <lines>
<line number="13" hits="0"/> <line number="13" hits="2"/>
<line number="18" hits="0"/> <line number="18" hits="1"/>
<line number="20" hits="0"/> <line number="20" hits="1"/>
<line number="25" hits="1"/>
<line number="27" hits="1"/>
</lines> </lines>
</class> </class>
</classes> </classes>
@ -6980,8 +6988,8 @@
<methods> <methods>
<method name="__construct" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="__construct" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="60" hits="197"/> <line number="60" hits="199"/>
<line number="61" hits="197"/> <line number="61" hits="199"/>
</lines> </lines>
</method> </method>
<method name="addValidationError" signature="PSCBase $error" line-rate="1" branch-rate="0" complexity="1"> <method name="addValidationError" signature="PSCBase $error" line-rate="1" branch-rate="0" complexity="1">
@ -6996,17 +7004,17 @@
</method> </method>
<method name="getName" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="getName" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="79" hits="15"/> <line number="79" hits="16"/>
</lines> </lines>
</method> </method>
<method name="setName" signature="$name" line-rate="1" branch-rate="0" complexity="1"> <method name="setName" signature="$name" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="87" hits="195"/> <line number="87" hits="197"/>
</lines> </lines>
</method> </method>
<method name="getType" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="getType" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="95" hits="9"/> <line number="95" hits="10"/>
</lines> </lines>
</method> </method>
<method name="setDisplayGroup" signature="string $var" line-rate="1" branch-rate="0" complexity="1"> <method name="setDisplayGroup" signature="string $var" line-rate="1" branch-rate="0" complexity="1">
@ -7026,12 +7034,12 @@
</method> </method>
<method name="getId" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="getId" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="121" hits="173"/> <line number="121" hits="175"/>
</lines> </lines>
</method> </method>
<method name="setId" signature="$id" line-rate="1" branch-rate="0" complexity="1"> <method name="setId" signature="$id" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="129" hits="197"/> <line number="129" hits="199"/>
</lines> </lines>
</method> </method>
<method name="isRequire" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="isRequire" signature="" line-rate="1" branch-rate="0" complexity="1">
@ -7046,12 +7054,12 @@
</method> </method>
<method name="getDefault" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="getDefault" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="153" hits="178"/> <line number="153" hits="179"/>
</lines> </lines>
</method> </method>
<method name="setDefault" signature="$default" line-rate="1" branch-rate="0" complexity="1"> <method name="setDefault" signature="$default" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="161" hits="189"/> <line number="161" hits="191"/>
</lines> </lines>
</method> </method>
<method name="getHelp" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="getHelp" signature="" line-rate="1" branch-rate="0" complexity="1">
@ -7131,7 +7139,7 @@
</method> </method>
<method name="isAjaxExport" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="isAjaxExport" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="271" hits="133"/> <line number="271" hits="135"/>
</lines> </lines>
</method> </method>
<method name="setIsAjaxExport" signature="$isAjaxExport" line-rate="1" branch-rate="0" complexity="1"> <method name="setIsAjaxExport" signature="$isAjaxExport" line-rate="1" branch-rate="0" complexity="1">
@ -7156,7 +7164,7 @@
</method> </method>
<method name="isDisplayOnly" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="isDisplayOnly" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="308" hits="133"/> <line number="308" hits="135"/>
</lines> </lines>
</method> </method>
<method name="setIsDisplayOnly" signature="$isDisplayOnly" line-rate="1" branch-rate="0" complexity="1"> <method name="setIsDisplayOnly" signature="$isDisplayOnly" line-rate="1" branch-rate="0" complexity="1">
@ -7186,64 +7194,64 @@
</method> </method>
<method name="generateJson" signature="" line-rate="0.84615384615385" branch-rate="0" complexity="5"> <method name="generateJson" signature="" line-rate="0.84615384615385" branch-rate="0" complexity="5">
<lines> <lines>
<line number="347" hits="7"/> <line number="347" hits="8"/>
<line number="348" hits="7"/> <line number="348" hits="8"/>
<line number="349" hits="7"/> <line number="349" hits="8"/>
<line number="350" hits="7"/> <line number="350" hits="8"/>
<line number="351" hits="6"/> <line number="351" hits="7"/>
<line number="353" hits="7"/> <line number="353" hits="8"/>
<line number="354" hits="7"/> <line number="354" hits="8"/>
<line number="355" hits="0"/> <line number="355" hits="0"/>
<line number="357" hits="7"/> <line number="357" hits="8"/>
<line number="358" hits="0"/> <line number="358" hits="0"/>
<line number="361" hits="7"/> <line number="361" hits="8"/>
<line number="362" hits="2"/> <line number="362" hits="2"/>
<line number="365" hits="7"/> <line number="365" hits="8"/>
</lines> </lines>
</method> </method>
<method name="generateXML" signature="" line-rate="0.71428571428571" branch-rate="0" complexity="7"> <method name="generateXML" signature="" line-rate="0.71428571428571" branch-rate="0" complexity="7">
<lines> <lines>
<line number="370" hits="9"/> <line number="370" hits="10"/>
<line number="371" hits="9"/> <line number="371" hits="10"/>
<line number="372" hits="9"/> <line number="372" hits="10"/>
<line number="373" hits="9"/> <line number="373" hits="10"/>
<line number="374" hits="9"/> <line number="374" hits="10"/>
<line number="375" hits="9"/> <line number="375" hits="10"/>
<line number="376" hits="9"/> <line number="376" hits="10"/>
<line number="377" hits="5"/> <line number="377" hits="5"/>
<line number="378" hits="5"/> <line number="378" hits="5"/>
<line number="379" hits="5"/> <line number="379" hits="5"/>
<line number="381" hits="9"/> <line number="381" hits="10"/>
<line number="382" hits="0"/> <line number="382" hits="0"/>
<line number="383" hits="0"/> <line number="383" hits="0"/>
<line number="384" hits="0"/> <line number="384" hits="0"/>
<line number="386" hits="9"/> <line number="386" hits="10"/>
<line number="387" hits="0"/> <line number="387" hits="0"/>
<line number="388" hits="0"/> <line number="388" hits="0"/>
<line number="389" hits="0"/> <line number="389" hits="0"/>
<line number="391" hits="9"/> <line number="391" hits="10"/>
<line number="392" hits="2"/> <line number="392" hits="2"/>
<line number="395" hits="9"/> <line number="395" hits="10"/>
</lines> </lines>
</method> </method>
</methods> </methods>
<lines> <lines>
<line number="60" hits="197"/> <line number="60" hits="199"/>
<line number="61" hits="197"/> <line number="61" hits="199"/>
<line number="66" hits="3"/> <line number="66" hits="3"/>
<line number="71" hits="2"/> <line number="71" hits="2"/>
<line number="79" hits="15"/> <line number="79" hits="16"/>
<line number="87" hits="195"/> <line number="87" hits="197"/>
<line number="95" hits="9"/> <line number="95" hits="10"/>
<line number="100" hits="1"/> <line number="100" hits="1"/>
<line number="105" hits="1"/> <line number="105" hits="1"/>
<line number="113" hits="0"/> <line number="113" hits="0"/>
<line number="121" hits="173"/> <line number="121" hits="175"/>
<line number="129" hits="197"/> <line number="129" hits="199"/>
<line number="137" hits="11"/> <line number="137" hits="11"/>
<line number="145" hits="94"/> <line number="145" hits="94"/>
<line number="153" hits="178"/> <line number="153" hits="179"/>
<line number="161" hits="189"/> <line number="161" hits="191"/>
<line number="166" hits="1"/> <line number="166" hits="1"/>
<line number="171" hits="43"/> <line number="171" hits="43"/>
<line number="176" hits="4"/> <line number="176" hits="4"/>
@ -7259,12 +7267,12 @@
<line number="247" hits="127"/> <line number="247" hits="127"/>
<line number="255" hits="154"/> <line number="255" hits="154"/>
<line number="263" hits="166"/> <line number="263" hits="166"/>
<line number="271" hits="133"/> <line number="271" hits="135"/>
<line number="279" hits="31"/> <line number="279" hits="31"/>
<line number="284" hits="154"/> <line number="284" hits="154"/>
<line number="292" hits="0"/> <line number="292" hits="0"/>
<line number="300" hits="154"/> <line number="300" hits="154"/>
<line number="308" hits="133"/> <line number="308" hits="135"/>
<line number="316" hits="7"/> <line number="316" hits="7"/>
<line number="324" hits="120"/> <line number="324" hits="120"/>
<line number="332" hits="4"/> <line number="332" hits="4"/>
@ -7274,40 +7282,40 @@
<line number="340" hits="0"/> <line number="340" hits="0"/>
<line number="341" hits="0"/> <line number="341" hits="0"/>
<line number="342" hits="0"/> <line number="342" hits="0"/>
<line number="347" hits="7"/> <line number="347" hits="8"/>
<line number="348" hits="7"/> <line number="348" hits="8"/>
<line number="349" hits="7"/> <line number="349" hits="8"/>
<line number="350" hits="7"/> <line number="350" hits="8"/>
<line number="351" hits="6"/> <line number="351" hits="7"/>
<line number="353" hits="7"/> <line number="353" hits="8"/>
<line number="354" hits="7"/> <line number="354" hits="8"/>
<line number="355" hits="0"/> <line number="355" hits="0"/>
<line number="357" hits="7"/> <line number="357" hits="8"/>
<line number="358" hits="0"/> <line number="358" hits="0"/>
<line number="361" hits="7"/> <line number="361" hits="8"/>
<line number="362" hits="2"/> <line number="362" hits="2"/>
<line number="365" hits="7"/> <line number="365" hits="8"/>
<line number="370" hits="9"/> <line number="370" hits="10"/>
<line number="371" hits="9"/> <line number="371" hits="10"/>
<line number="372" hits="9"/> <line number="372" hits="10"/>
<line number="373" hits="9"/> <line number="373" hits="10"/>
<line number="374" hits="9"/> <line number="374" hits="10"/>
<line number="375" hits="9"/> <line number="375" hits="10"/>
<line number="376" hits="9"/> <line number="376" hits="10"/>
<line number="377" hits="5"/> <line number="377" hits="5"/>
<line number="378" hits="5"/> <line number="378" hits="5"/>
<line number="379" hits="5"/> <line number="379" hits="5"/>
<line number="381" hits="9"/> <line number="381" hits="10"/>
<line number="382" hits="0"/> <line number="382" hits="0"/>
<line number="383" hits="0"/> <line number="383" hits="0"/>
<line number="384" hits="0"/> <line number="384" hits="0"/>
<line number="386" hits="9"/> <line number="386" hits="10"/>
<line number="387" hits="0"/> <line number="387" hits="0"/>
<line number="388" hits="0"/> <line number="388" hits="0"/>
<line number="389" hits="0"/> <line number="389" hits="0"/>
<line number="391" hits="9"/> <line number="391" hits="10"/>
<line number="392" hits="2"/> <line number="392" hits="2"/>
<line number="395" hits="9"/> <line number="395" hits="10"/>
</lines> </lines>
</class> </class>
</classes> </classes>
@ -7856,22 +7864,34 @@
</class> </class>
</classes> </classes>
</package> </package>
<package name="Option/Type/Media.php" line-rate="0" branch-rate="0" complexity="1"> <package name="Option/Type/Media.php" line-rate="1" branch-rate="0" complexity="2">
<classes> <classes>
<class name="PSC\Library\Calc\Option\Type\Media" filename="Option/Type/Media.php" line-rate="0" branch-rate="0" complexity="1"> <class name="PSC\Library\Calc\Option\Type\Media" filename="Option/Type/Media.php" line-rate="1" branch-rate="0" complexity="2">
<methods> <methods>
<method name="generateJson" signature="" line-rate="0" branch-rate="0" complexity="1"> <method name="generateJson" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="11" hits="0"/> <line number="11" hits="1"/>
<line number="12" hits="0"/> <line number="12" hits="1"/>
<line number="13" hits="0"/> <line number="13" hits="1"/>
</lines>
</method>
<method name="generateXML" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="18" hits="1"/>
<line number="19" hits="1"/>
<line number="20" hits="1"/>
<line number="21" hits="1"/>
</lines> </lines>
</method> </method>
</methods> </methods>
<lines> <lines>
<line number="11" hits="0"/> <line number="11" hits="1"/>
<line number="12" hits="0"/> <line number="12" hits="1"/>
<line number="13" hits="0"/> <line number="13" hits="1"/>
<line number="18" hits="1"/>
<line number="19" hits="1"/>
<line number="20" hits="1"/>
<line number="21" hits="1"/>
</lines> </lines>
</class> </class>
</classes> </classes>

View File

@ -13,11 +13,17 @@ class Media extends Base
$this->element = new \PSC\Library\Calc\Option\Type\Media(); $this->element = new \PSC\Library\Calc\Option\Type\Media();
} }
public function parseJson(): PSCMedia
{
parent::parseJson();
return $this->element;
}
public function parseXML(): PSCMedia public function parseXML(): PSCMedia
{ {
parent::parseXML(); parent::parseXML();
return $this->element; return $this->element;
} }
} }

View File

@ -1,9 +1,9 @@
<?php <?php
namespace PSC\Library\Calc\Option\Type; namespace PSC\Library\Calc\Option\Type;
class Media extends Base class Media extends Base
{ {
public $type = 'media'; public $type = 'media';
public function generateJson(): \stdClass public function generateJson(): \stdClass
@ -13,5 +13,11 @@ class Media extends Base
return $obj; return $obj;
} }
public function generateXML(): array
{
$tmp = ['_attributes' => [
'default' => $this->getDefault(),
]];
return array_merge_recursive($tmp, parent::generateXML());
}
} }

View File

@ -0,0 +1,45 @@
<?php
namespace PSC\Library\Calc\Tests\Json\Type;
use PHPUnit\Framework\TestCase;
use PSC\Library\Calc\Option\Parser\Media;
use Spatie\ArrayToXml\ArrayToXml;
class MediaTest extends TestCase
{
private array $json;
private string $xml;
public function setUp(): void
{
$this->json = json_decode('{
"id": "2a2e93d0-d1e9-421e-a55e-c4c165964dc7",
"type": 9,
"dependencys": [],
"default": "68811e762871b8156408ee94",
"name": ""
}', true);
$this->xml = '<option id="2a2e93d0-d1e9-421e-a55e-c4c165964dc7" type="Media" default="68811e762871b8156408ee94"></option>';
}
public function testFromJson()
{
$parser = new Media();
$parser->fromJson($this->json);
$obj = $parser->parseJson();
$xml = ArrayToXml::convert($obj->generateXML(), 'option');
self::assertXmlStringEqualsXmlString($xml, $this->xml);
}
public function testFromXML()
{
$parser = new Media();
$parser->fromXML(simplexml_load_string($this->xml));
$obj = $parser->parseXML();
self::assertJsonStringEqualsJsonString(json_encode($obj->generateJson()), json_encode($this->json));
}
}