| 
<?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);
 }
 }
 
 |