Пример #1
0
 /**
  * @return ExpressionInterface
  */
 protected function getCondition()
 {
     if (!$this->condition) {
         $this->condition = $this->assembler->assemble($this->configuration);
     }
     return $this->condition;
 }
Пример #2
0
 /**
  * @dataProvider configurationDataProvider
  */
 public function testAssemble($configuration, $expected)
 {
     $factory = $this->getMock('Oro\\Component\\ConfigExpression\\ExpressionFactoryInterface');
     $factory->expects($this->any())->method('create')->will($this->returnCallback(function ($type, $options) {
         $expr = new ExpressionStub($type);
         return $expr->initialize($options);
     }));
     $configurationPass = $this->getMockBuilder('Oro\\Component\\ConfigExpression\\ConfigurationPass\\ConfigurationPassInterface')->getMockForAbstractClass();
     $configurationPass->expects($this->any())->method('passConfiguration')->will($this->returnCallback(function ($options) {
         return ['passed' => $options];
     }));
     $assembler = new ExpressionAssembler($factory);
     $assembler->addConfigurationPass($configurationPass);
     $actual = $assembler->assemble($configuration);
     $this->assertEquals($expected, $actual);
 }