<?php
namespace WsdlToPhp\PackageGenerator\Tests\Container\Model;
use WsdlToPhp\PackageGenerator\Model\Service;
use WsdlToPhp\PackageGenerator\Container\Model\Service as ServiceContainer;
use WsdlToPhp\PackageGenerator\Tests\TestCase;
class ServiceContainerTest extends TestCase
{
/**
* @return ServiceContainer
*/
public static function instance()
{
$serviceContainer = new ServiceContainer(self::getBingGeneratorInstance());
$serviceContainer->add(new Service(self::getBingGeneratorInstance(), 'Foo'));
return $serviceContainer;
}
/**
*
*/
public function testGetServiceByName()
{
$serviceContainer = self::instance();
$this->assertInstanceOf('\\WsdlToPhp\\PackageGenerator\\Model\\Service', $serviceContainer->getServiceByName('Foo'));
$this->assertNull($serviceContainer->getServiceByName('Bar'));
}
/**
*
*/
public function testAddServiceNonUnique()
{
$serviceContainer = self::instance();
$serviceContainer->addService(self::getBingGeneratorInstance(), 'Foo', 'bar', 'string', 'int');
$serviceContainer->addService(self::getBingGeneratorInstance(), 'Foo', 'bar', 'int', 'string');
$fooService = $serviceContainer->getServiceByName('Foo');
$this->assertCount(2, $fooService->getMethods());
$count = 0;
foreach ($fooService->getMethods() as $method) {
$this->assertFalse($method->getIsUnique());
$count++;
}
$this->assertSame(2, $count);
}
}
|