function it_should_coordinate_tokenizer_and_an_array_generator(Tokenizer $tokenizer, GeneratorFactory $generatorFactory, Generator $generator) { $tokens = ['foo']; $result = ['bar']; $generatorFactory->getGeneratorForType(GeneratorFactory::ARRAY_TYPE)->willReturn($generator); $tokenizer->tokenize(Argument::any())->willReturn($tokens); $generator->generate($tokens)->willReturn($result); $this->parseToArray('')->shouldReturn($result); }
/** * @param string $input * @return \stdClass */ public function parseToArray($input) { $generator = $this->generatorFactory->getGeneratorForType(GeneratorFactory::ARRAY_TYPE); $tokens = $this->tokenizer->tokenize($input); return $generator->generate($tokens); }