public function matchRequestTests($uriPath, $pattern, $shouldMatch)
{
$mockActionRequest = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock();
$mockHttpRequest = $this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock();
$mockActionRequest->expects($this->atLeastOnce())->method('getHttpRequest')->will($this->returnValue($mockHttpRequest));
$mockUri = $this->getMockBuilder(Uri::class)->disableOriginalConstructor()->getMock();
$mockHttpRequest->expects($this->atLeastOnce())->method('getUri')->will($this->returnValue($mockUri));
$mockUri->expects($this->atLeastOnce())->method('getPath')->will($this->returnValue($uriPath));
$requestPattern = new UriPattern(['uriPattern' => $pattern]);
if ($shouldMatch) {
$this->assertTrue($requestPattern->matchRequest($mockActionRequest));
} else {
$this->assertFalse($requestPattern->matchRequest($mockActionRequest));
}
}