public function overrideArgumentOverwritesExistingArgumentDefinition()
{
$viewHelper = $this->getAccessibleMock(AbstractViewHelper::class, array('render'), array(), '', false);
$viewHelper->injectObjectManager($this->mockObjectManager);
$name = 'argumentName';
$description = 'argument description';
$overriddenDescription = 'overwritten argument description';
$type = 'string';
$overriddenType = 'integer';
$isRequired = true;
$expected = new ArgumentDefinition($name, $overriddenType, $overriddenDescription, $isRequired);
$viewHelper->_call('registerArgument', $name, $type, $description, $isRequired);
$viewHelper->_call('overrideArgument', $name, $overriddenType, $overriddenDescription, $isRequired);
$this->assertEquals($viewHelper->prepareArguments(), array($name => $expected), 'Argument definitions not returned correctly. The original ArgumentDefinition could not be overridden.');
}