public function translateReturnsCorrectlyConfiguredTranslationParameterTokenWhenCalledWithLongArgumentList()
{
$mockTranslationParameterToken = $this->getMockBuilder(TranslationParameterToken::class)->disableOriginalConstructor()->getMock();
$mockTranslationParameterToken->expects($this->once())->method('value', 'SomeValue')->willReturn($mockTranslationParameterToken);
$mockTranslationParameterToken->expects($this->once())->method('arguments', ['a', 'couple', 'of', 'arguments'])->willReturn($mockTranslationParameterToken);
$mockTranslationParameterToken->expects($this->once())->method('source', 'SomeSource')->willReturn($mockTranslationParameterToken);
$mockTranslationParameterToken->expects($this->once())->method('package', 'Some.PackageKey')->willReturn($mockTranslationParameterToken);
$mockTranslationParameterToken->expects($this->once())->method('quantity', 42)->willReturn($mockTranslationParameterToken);
$mockTranslationParameterToken->expects($this->once())->method('locale', 'SomeLocale')->willReturn($mockTranslationParameterToken);
$mockTranslationParameterToken->expects($this->once())->method('translate')->willReturn('I am a translation result');
$mockTranslationHelper = $this->getMockBuilder(TranslationHelper::class)->setMethods(['createTranslationParameterToken'])->getMock();
$mockTranslationHelper->expects(static::once())->method('createTranslationParameterToken', 'SomeId')->willReturn($mockTranslationParameterToken);
$result = $mockTranslationHelper->translate('SomeId', 'SomeValue', ['a', 'couple', 'of', 'arguments'], 'SomeSource', 'Some.PackageKey', 42, 'SomeLocale');
$this->assertEquals('I am a translation result', $result);
}