spec\Akeneo\Component\SpreadsheetParser\Xlsx\RowIteratorSpec::let PHP Метод

let() публичный Метод

public let ( Akeneo\Component\SpreadsheetParser\Xlsx\RowBuilderFactory $rowBuilderFactory, Akeneo\Component\SpreadsheetParser\Xlsx\ColumnIndexTransformer $columnIndexTransformer, ValueTransformer $valueTransformer, Akeneo\Component\SpreadsheetParser\Xlsx\RowBuilder $rowBuilder, Akeneo\Component\SpreadsheetParser\Xlsx\Archive $archive )
$rowBuilderFactory Akeneo\Component\SpreadsheetParser\Xlsx\RowBuilderFactory
$columnIndexTransformer Akeneo\Component\SpreadsheetParser\Xlsx\ColumnIndexTransformer
$valueTransformer Akeneo\Component\SpreadsheetParser\Xlsx\ValueTransformer
$rowBuilder Akeneo\Component\SpreadsheetParser\Xlsx\RowBuilder
$archive Akeneo\Component\SpreadsheetParser\Xlsx\Archive
    public function let(RowBuilderFactory $rowBuilderFactory, ColumnIndexTransformer $columnIndexTransformer, ValueTransformer $valueTransformer, RowBuilder $rowBuilder, Archive $archive)
    {
        $startWith = function ($startString) {
            return function ($string) use($startString) {
                return $startString === substr($string, 0, strlen($startString));
            };
        };
        $columnIndexTransformer->transform(Argument::that($startWith('A')))->willReturn(0);
        $columnIndexTransformer->transform(Argument::that($startWith('B')))->willReturn(1);
        $columnIndexTransformer->transform(Argument::that($startWith('C')))->willReturn(2);
        $columnIndexTransformer->transform(Argument::that($startWith('D')))->willReturn(3);
        $row = null;
        $rowBuilderFactory->create()->will(function () use($rowBuilder, &$row) {
            $row = [];
            return $rowBuilder;
        });
        $rowBuilder->addValue(Argument::type('int'), Argument::type('array'))->will(function ($args) use(&$row) {
            $row[$args[0]] = $args[1];
        });
        $rowBuilder->getData()->will(function () use(&$row) {
            return $row;
        });
        $this->beConstructedWith($rowBuilderFactory, $columnIndexTransformer, $valueTransformer, __DIR__ . '/fixtures/sheet.xml', [], $archive);
        $valueTransformer->transform(Argument::type('string'), Argument::type('string'), Argument::type('string'))->will(function ($args) {
            return $args;
        });
    }