/** * Tests to add and get some providers */ public function testAddAndGetProviders() { $chainProvider = new ChainProvider(); $bitlyProvider = $this->getMockBuilder('Mremi\\UrlShortener\\Provider\\Bitly\\BitlyProvider')->disableOriginalConstructor()->getMock(); $bitlyProvider->expects($this->once())->method('getName')->will($this->returnValue('bitly')); $chainProvider->addProvider($bitlyProvider); $this->assertEquals($bitlyProvider, $chainProvider->getProvider('bitly')); $this->assertArrayHasKey('bitly', $chainProvider->getProviders()); $this->assertTrue($chainProvider->hasProvider('bitly')); $this->assertCount(1, $chainProvider->getProviders()); $googleProvider = $this->getMockBuilder('Mremi\\UrlShortener\\Provider\\Google\\GoogleProvider')->disableOriginalConstructor()->getMock(); $googleProvider->expects($this->once())->method('getName')->will($this->returnValue('google')); $chainProvider->addProvider($googleProvider); $this->assertEquals($googleProvider, $chainProvider->getProvider('google')); $this->assertArrayHasKey('google', $chainProvider->getProviders()); $this->assertTrue($chainProvider->hasProvider('google')); $this->assertCount(2, $chainProvider->getProviders()); }