public function setUp()
{
$this->siteNode = $this->createMock(NodeInterface::class);
$this->firstNodeInLevel = $this->createMock(NodeInterface::class);
$this->secondNodeInLevel = $this->createMock(NodeInterface::class);
$this->thirdNodeInLevel = $this->createMock(NodeInterface::class);
$this->siteNode->expects($this->any())->method('getPath')->will($this->returnValue('/site'));
$this->siteNode->expects($this->any())->method('getChildNodes')->will($this->returnValue(array($this->firstNodeInLevel, $this->secondNodeInLevel, $this->thirdNodeInLevel)));
$this->mockContext = $this->getMockBuilder(Context::class)->disableOriginalConstructor()->getMock();
$this->firstNodeInLevel->expects($this->any())->method('getParent')->will($this->returnValue($this->siteNode));
$this->firstNodeInLevel->expects($this->any())->method('getPath')->will($this->returnValue('/site/first'));
$this->secondNodeInLevel->expects($this->any())->method('getParent')->will($this->returnValue($this->siteNode));
$this->secondNodeInLevel->expects($this->any())->method('getPath')->will($this->returnValue('/site/second'));
$this->thirdNodeInLevel->expects($this->any())->method('getParent')->will($this->returnValue($this->siteNode));
$this->thirdNodeInLevel->expects($this->any())->method('getPath')->will($this->returnValue('/site/third'));
}