public function moveBeforeNodesWithLowerIndexMovesNodesBeforeOthersWithPersistAll()
{
$rootNode = $this->context->getRootNode();
$parentNode = $rootNode->createNode('parent-node');
$childNodeA = $parentNode->createNode('child-node-a');
$childNodeB = $parentNode->createNode('child-node-b');
$childNodeB->setProperty('name', __METHOD__);
$childNodeD = $parentNode->createNode('child-node-d');
$childNodeE = $parentNode->createNode('child-node-e');
$childNodeF = $parentNode->createNode('child-node-f');
$childNodeC = $parentNode->createNode('child-node-c');
$childNodeG = $parentNode->createNode('child-node-g');
$this->persistenceManager->persistAll();
$childNodeC->moveBefore($childNodeD);
$this->persistenceManager->persistAll();
$expectedChildNodes = [$childNodeA, $childNodeB, $childNodeC, $childNodeD, $childNodeE, $childNodeF, $childNodeG];
$actualChildNodes = $parentNode->getChildNodes();
$this->assertSameOrder($expectedChildNodes, $actualChildNodes);
}