<?php
namespace WsdlToPhp\PackageGenerator\Tests\Parser\Wsdl;
use WsdlToPhp\PackageGenerator\Parser\Wsdl\TagEnumeration;
use WsdlToPhp\PackageGenerator\Model\Struct;
use WsdlToPhp\PackageGenerator\Container\Model\StructValue as StructValueContainer;
use WsdlToPhp\PackageGenerator\Model\StructValue;
class TagEnumerationTest extends WsdlParser
{
/**
* @return TagEnumeration
*/
public static function bingInstance()
{
return new TagEnumeration(self::generatorInstance(self::wsdlBingPath()));
}
/**
* @return TagEnumeration
*/
public static function reformaInstance()
{
return new TagEnumeration(self::generatorInstance(self::wsdlReformaPath()));
}
/**
*
*/
public function testBing()
{
$tagEnumerationParser = self::bingInstance();
$tagEnumerationParser->parse();
$count = 0;
foreach ($tagEnumerationParser->getGenerator()->getStructs() as $struct) {
if ($struct instanceof Struct && $struct->getIsRestriction() === true) {
if ($struct->getName() === 'AdultOption') {
$values = new StructValueContainer($tagEnumerationParser->getGenerator());
$values->add(new StructValue($tagEnumerationParser->getGenerator(), 'Off', 0, $struct));
$values->add(new StructValue($tagEnumerationParser->getGenerator(), 'Moderate', 1, $struct));
$values->add(new StructValue($tagEnumerationParser->getGenerator(), 'Strict', 2, $struct));
$struct->getValues()->rewind();
$this->assertEquals($values, $struct->getValues());
$count++;
} elseif ($struct->getName() === 'SearchOption') {
$values = new StructValueContainer($tagEnumerationParser->getGenerator());
$values->add(new StructValue($tagEnumerationParser->getGenerator(), 'DisableLocationDetection', 0, $struct));
$values->add(new StructValue($tagEnumerationParser->getGenerator(), 'EnableHighlighting', 1, $struct));
$struct->getValues()->rewind();
$this->assertEquals($values, $struct->getValues());
$count++;
}
}
}
$this->assertSame(2, $count);
}
/**
*
*/
public function testReforma()
{
$tagEnumerationParser = self::reformaInstance();
$tagEnumerationParser->parse();
$count = 0;
foreach ($tagEnumerationParser->getGenerator()->getStructs() as $struct) {
if ($struct instanceof Struct && $struct->getIsRestriction() === true) {
if ($struct->getName() === 'HouseStateEnum') {
$values = new StructValueContainer($tagEnumerationParser->getGenerator());
$one = new StructValue($tagEnumerationParser->getGenerator(), '1', 0, $struct);
$one->setMeta(array(
'label' =>'normal',
'description' =>'?????????',
));
$values->add($one);
$two = new StructValue($tagEnumerationParser->getGenerator(), '2', 1, $struct);
$two->setMeta(array(
'label' =>'warning',
'description' =>'????????? ???????????? ???????',
));
$values->add($two);
$three = new StructValue($tagEnumerationParser->getGenerator(), '3', 2, $struct);
$three->setMeta(array(
'label' =>'alarm',
'description' =>'?????????',
));
$values->add($three);
$four = new StructValue($tagEnumerationParser->getGenerator(), '4', 3, $struct);
$four->setMeta(array(
'label' =>'noinfo',
'description' =>'??? ??????',
));
$values->add($four);
$this->assertEquals($values, $struct->getValues());
$count++;
} elseif ($struct->getName() === 'HouseStageEnum') {
$values = new StructValueContainer($tagEnumerationParser->getGenerator());
$one = new StructValue($tagEnumerationParser->getGenerator(), '1', 0, $struct);
$one->setMeta(array(
'label' =>'exploited',
'description' =>'???????????????',
));
$values->add($one);
$two = new StructValue($tagEnumerationParser->getGenerator(), '2', 1, $struct);
$two->setMeta(array(
'label' =>'decommissioned',
'description' =>'?????????? ?? ????????????',
));
$values->add($two);
$three = new StructValue($tagEnumerationParser->getGenerator(), '3', 2, $struct);
$three->setMeta(array(
'label' =>'drifting',
'description' =>'?????????',
));
$values->add($three);
$struct->getValues()->rewind();
$this->assertEquals($values, $struct->getValues());
$count++;
}
}
}
$this->assertSame(2, $count);
}
}
|