public function testLogicalOr()
 {
     $this->if($qb = new QueryBuilderTested())->exception(function () use($qb) {
         $qb->logicalOr();
     })->isInstanceOf('\\InvalidArgumentException')->hasMessage('Spy\\Timeline\\Driver\\QueryBuilder\\QueryBuilder::createNewOperator accept minimum 2 arguments')->if($this->mockClass('Spy\\Timeline\\Driver\\QueryBuilder\\Criteria\\CriteriaInterface', '\\Mock'))->and($criteria = new \Mock\CriteriaInterface())->and($criteria2 = new \Mock\CriteriaInterface())->and($resultExpected = new Operator())->and($resultExpected->setType(Operator::TYPE_OR))->and($resultExpected->setCriterias(array($criteria, $criteria2)))->object($qb->logicalOr($criteria, $criteria2))->isEqualTo($qb->createNewOperator(Operator::TYPE_OR, array($criteria, $criteria2)))->isEqualTo($resultExpected);
 }
示例#2
0
 public function testFromArray()
 {
     $this->if($model = new TestedModel())->and($this->mockClass('Spy\\Timeline\\Driver\\QueryBuilder\\Criteria\\Operator', '\\Mock'))->and($this->mockClass('Spy\\Timeline\\Driver\\QueryBuilder\\Criteria\\Asserter', '\\Mock'))->and($this->mockClass('Spy\\Timeline\\Driver\\QueryBuilder\\QueryBuilderFactory', '\\Mock'))->and($operator = new \Mock\Operator())->and($asserter = new \Mock\Asserter())->and($factory = new \Mock\QueryBuilderFactory())->and($factory->getMockController()->createOperatorFromArray = $operator)->and($factory->getMockController()->createAsserterFromArray = $asserter)->and($resultExpected = new TestedModel())->and($resultExpected->addCriteria($asserter))->and($resultExpected->addCriteria($operator))->and($resultExpected->setType('AND'))->object($model->fromArray(array('type' => 'operator', 'value' => 'AND', 'criterias' => array(array('type' => 'expr'), array('type' => 'operator'))), $factory))->isEqualTo($resultExpected)->object($model->fromArray(array('type' => 'operator', 'value' => 'AND', 'criterias' => array(array('type' => 'operator'), array('type' => 'expr'))), $factory))->isNotEqualTo($resultExpected);
 }