public function removeRemovesTheRightObjectEvenIfItHasBeenModifiedSinceItsAddition()
{
$object1 = new \ArrayObject(['val' => '1']);
$object2 = new \ArrayObject(['val' => '2']);
$object3 = new \ArrayObject(['val' => '3']);
$persistenceManager = new Generic\PersistenceManager();
$persistenceManager->add($object1);
$persistenceManager->add($object2);
$persistenceManager->add($object3);
$object2['foo'] = 'bar';
$object3['val'] = '2';
$persistenceManager->remove($object2);
$this->assertAttributeContains($object1, 'addedObjects', $persistenceManager);
$this->assertAttributeNotContains($object2, 'addedObjects', $persistenceManager);
$this->assertAttributeContains($object3, 'addedObjects', $persistenceManager);
}