/**
* Test final result given first partial results
*
* @dataProvider dataExecute
*/
public function testExecute($firstStatusCode, $expectedResult)
{
/**
* @var ClientInterface|ObjectProphecy $client
*/
$client = $this->prophesize('Visithor\\Client\\Interfaces\\ClientInterface');
$client->getResponseHTTPCode(Argument::any())->willReturn(200);
$client->buildClient(Argument::any())->willReturn(Argument::any());
$client->destroyClient(Argument::any())->willReturn(Argument::any());
$urlChain = new UrlChain();
$urlChain->addUrl(new Url('', $firstStatusCode, []))->addUrl(new Url('', [200], []))->addUrl(new Url('', [200], []));
$executor = new Executor($client->reveal());
$result = $executor->execute($urlChain, $this->prophesize('Visithor\\Renderer\\Interfaces\\RendererInterface')->reveal(), $this->prophesize('Symfony\\Component\\Console\\Output\\OutputInterface')->reveal());
$this->assertEquals($expectedResult, $result);
}