public function setUp()
{
$this->mockHttpRequest = $this->getMockBuilder(Http\Request::class)->disableOriginalConstructor()->getMock();
$this->mockRouter = $this->createMock(Mvc\Routing\RouterInterface::class);
$this->mockMainRequest = $this->createMock(Mvc\ActionRequest::class, [], [$this->mockHttpRequest]);
$this->mockMainRequest->expects($this->any())->method('getHttpRequest')->will($this->returnValue($this->mockHttpRequest));
$this->mockMainRequest->expects($this->any())->method('getParentRequest')->will($this->returnValue($this->mockHttpRequest));
$this->mockMainRequest->expects($this->any())->method('getMainRequest')->will($this->returnValue($this->mockMainRequest));
$this->mockMainRequest->expects($this->any())->method('isMainRequest')->will($this->returnValue(true));
$this->mockMainRequest->expects($this->any())->method('getArgumentNamespace')->will($this->returnValue(''));
$this->mockSubRequest = $this->createMock(Mvc\ActionRequest::class, [], [$this->mockMainRequest]);
$this->mockSubRequest->expects($this->any())->method('getHttpRequest')->will($this->returnValue($this->mockHttpRequest));
$this->mockSubRequest->expects($this->any())->method('getMainRequest')->will($this->returnValue($this->mockMainRequest));
$this->mockSubRequest->expects($this->any())->method('isMainRequest')->will($this->returnValue(false));
$this->mockSubRequest->expects($this->any())->method('getParentRequest')->will($this->returnValue($this->mockMainRequest));
$this->mockSubRequest->expects($this->any())->method('getArgumentNamespace')->will($this->returnValue('SubNamespace'));
$this->mockSubSubRequest = $this->createMock(Mvc\ActionRequest::class, [], [$this->mockSubRequest]);
$this->mockSubSubRequest->expects($this->any())->method('getHttpRequest')->will($this->returnValue($this->mockHttpRequest));
$this->mockSubSubRequest->expects($this->any())->method('getMainRequest')->will($this->returnValue($this->mockMainRequest));
$this->mockSubSubRequest->expects($this->any())->method('isMainRequest')->will($this->returnValue(false));
$this->mockSubSubRequest->expects($this->any())->method('getParentRequest')->will($this->returnValue($this->mockSubRequest));
$environment = $this->getMockBuilder(Utility\Environment::class)->disableOriginalConstructor()->setMethods(['isRewriteEnabled'])->getMock();
$environment->expects($this->any())->method('isRewriteEnabled')->will($this->returnValue(true));
$this->uriBuilder = new Mvc\Routing\UriBuilder();
$this->inject($this->uriBuilder, 'router', $this->mockRouter);
$this->inject($this->uriBuilder, 'environment', $environment);
$this->uriBuilder->setRequest($this->mockMainRequest);
}