public function testHasSiblingsWithSiblings()
{
$parent = NodeFactory::getInstance();
$firstChild = NodeFactory::getInstance();
$parent->addChild($firstChild);
$secondChild = NodeFactory::getInstance();
$parent->addChild($secondChild);
// Normal case; two Node:NODE type siblings
$this->assertEquals(true, $firstChild->hasSiblings());
$parent = NodeFactory::getInstance();
$firstChild = NodeFactory::getInstance();
$parent->addChild($firstChild);
$secondChild = NodeFactory::getInstance('Node', 'default', Node::CONTAINER);
$parent->addChild($secondChild);
// Empty Node::CONTAINER type node should not be considered in hasSiblings()
$this->assertEquals(false, $firstChild->hasSiblings());
$grandChild = NodeFactory::getInstance();
$secondChild->addChild($grandChild);
// Node::CONTAINER type nodes with children are counted for hasSiblings()
$this->assertEquals(true, $firstChild->hasSiblings());
}