/**
* @test
*/
public function similarizeClearsPropertiesBeforeAddingNewOnes()
{
/** @var $sourceNode NodeData */
$sourceNode = $this->getAccessibleMock(NodeData::class, array('addOrUpdate'), array('/foo/bar', $this->mockWorkspace));
$this->inject($sourceNode, 'nodeTypeManager', $this->mockNodeTypeManager);
$sourceNode->_set('nodeDataRepository', $this->createMock(RepositoryInterface::class));
$this->nodeData->setProperty('someProperty', 'somePropertyValue');
$this->nodeData->setProperty('someOtherProperty', 'someOtherPropertyValue');
$sourceNode->setProperty('newProperty', 'newPropertyValue');
$sourceNode->setProperty('someProperty', 'someOverriddenPropertyValue');
$this->nodeData->similarize($sourceNode);
$expectedProperties = array('newProperty' => 'newPropertyValue', 'someProperty' => 'someOverriddenPropertyValue');
$this->assertEquals($expectedProperties, $this->nodeData->getProperties());
}