/**
  * @param LoggerInterface $logger
  *
  * @return UserOrderTransformer
  */
 public function build(LoggerInterface $logger)
 {
     $extractor = $this->getPropertyExtractor($logger);
     $transformer = new UserOrderTransformer($extractor);
     $strategiesProvider = new UserOrderTransformerStrategiesProvider();
     $strategies = $strategiesProvider->getStrategies($extractor, $transformer);
     foreach ($strategies as $strategy) {
         $transformer->addStrategy($strategy);
     }
     return $transformer;
 }
 public function testResult()
 {
     $provider = new UserOrderTransformerStrategiesProvider();
     $result = $provider->getStrategies($this->getExtractor(), $this->getTransformer());
     $this->assertTrue(is_array($result));
     $this->assertGreaterThan(0, count($result));
     /** @var UserOrderTransformerStrategyInterface $strategy */
     foreach ($result as $strategy) {
         $this->assertInstanceOf('\\Team3\\PayU\\Order\\Transformer\\UserOrder\\Strategy\\UserOrderTransformerStrategyInterface', $strategy);
     }
 }