public function testIfTheValueReturnedIsAListValueThenIteratesOverEachValuesToMergeStrings()
{
$value = 'foo';
$decoratedParserProphecy = $this->prophesize(ParserInterface::class);
$decoratedParserProphecy->parse($value)->willReturn(new ListValue([new FakeValue(), 'az', 'er', 'ty', new FakeValue(), 'qw', new FakeValue(), 'er', 'ty']));
/** @var ParserInterface $decoratedParser */
$decoratedParser = $decoratedParserProphecy->reveal();
$expected = new ListValue([new FakeValue(), 'azerty', new FakeValue(), 'qw', new FakeValue(), 'erty']);
$parser = new StringMergerParser($decoratedParser);
$actual = $parser->parse($value);
$this->assertEquals($expected, $actual);
$decoratedParserProphecy->parse(Argument::any())->shouldHaveBeenCalledTimes(1);
}