public function testSetAndUseCustomMultipleResultFactory() { $factoryMock = $this->getMock('Geocoder\\Result\\MultipleResultFactory'); $factoryMock->expects($this->at(0))->method('newInstance')->will($this->returnValue(new DummyResult())); $factoryMock->expects($this->at(1))->method('newInstance')->will($this->returnValue(new DummyResult())); $factoryMock->expects($this->at(2))->method('newInstance')->will($this->returnValue(new DummyResult())); $geocoder = new TestableGeocoder(); $geocoder->setResultFactory($factoryMock); $results = $geocoder->returnResult(array(array(), array(), array())); $this->assertInstanceOf('\\SplObjectStorage', $results); $this->assertCount(3, $results); foreach ($results as $result) { $this->assertInstanceOf('Geocoder\\Tests\\DummyResult', $result); $this->assertInstanceOf('Geocoder\\Result\\ResultInterface', $result); } }
public function testUseCustomResultFactory() { $factoryMock = $this->getMock('Geocoder\\Result\\ResultFactory'); $factoryMock->expects($this->once())->method('newInstance')->will($this->returnValue(new DummyResult())); $geocoder = new TestableGeocoder(null, $factoryMock); $this->assertInstanceOf('Geocoder\\Tests\\DummyResult', $geocoder->returnResult(array())); }