Example #1
0
 /**
  * {@inheritdoc}
  */
 public function contains($element)
 {
     $criteria = Criteria::eq($element);
     foreach ($this->elements as $key => $value) {
         if ($criteria->evaluate($value)) {
             return true;
         }
     }
     return false;
 }
Example #2
0
 /**
  * @param mixed $value
  *
  * @return $this
  */
 public function notContains($value)
 {
     $collection = $this->valueAsCollection();
     if ($collection->findOne(Criteria::eq($value)) !== null) {
         $this->fail($this->getLocale()->_('The list contain an element with this value %s', $value));
     } else {
         $this->pass();
     }
     return $this;
 }
Example #3
0
 /**
  * Test evaluate Equatable instance.
  */
 public function testEvaluateEquatable()
 {
     $this->given($eq = Criteria::eq(new Value(5)))->then()->boolean($eq->evaluate(new Value(5)))->isTrue()->boolean($eq->evaluate(new Value(5.0)))->isTrue()->boolean($eq->evaluate(new Value(4)))->isFalse();
 }
 /**
  * @return \Cubiche\Core\Specification\SpecificationInterface
  */
 protected function newRandomSpecification()
 {
     switch (\rand(0, 3)) {
         case 0:
             return Criteria::eq(5);
         case 1:
             return Criteria::gte(5);
         case 2:
             return Criteria::property('foo')->lte(10);
         case 3:
         default:
             return Criteria::false();
     }
 }
Example #5
0
 /**
  * @param MiddlewareInterface $middleware
  *
  * @return int|null
  */
 protected function middlewarePriority(MiddlewareInterface $middleware)
 {
     /** @var ArrayList $collection */
     foreach ($this->middlewares as $priority => $collection) {
         $targetMiddleware = $collection->findOne(Criteria::eq($middleware));
         if ($targetMiddleware !== null) {
             return $priority;
         }
     }
     return;
 }
Example #6
0
 /**
  * Test findOne.
  */
 public function testFindOne()
 {
     $this->given($unique = $this->uniqueValue(), $criteria = Criteria::eq($unique), $emptyCollection = $this->emptyCollection())->when($findResult = $emptyCollection->findOne($criteria))->then()->variable($findResult)->isNull()->and()->when($emptyCollection->add($unique), $findResult = $emptyCollection->findOne($criteria))->then()->variable($findResult)->isEqualTo($unique);
     $this->given($unique = $this->uniqueValue(), $criteria = Criteria::eq($unique), $randomCollection = $this->randomCollection())->when($findResult = $randomCollection->findOne($criteria))->then()->variable($findResult)->isNull()->and()->when($randomCollection->add($unique), $findResult = $randomCollection->findOne($criteria))->then()->variable($findResult)->isEqualTo($unique);
 }
 /**
  * Test visitEqual.
  */
 public function testVisitEqual()
 {
     $this->visitTest(Criteria::property('foo')->eq(10), function () {
         return $this->createQueryBuilder()->field('foo')->equals(10);
     });
     $this->visitTest(Criteria::property('foo')->count()->eq(10), function () {
         return $this->createQueryBuilder()->field('foo')->size(10);
     });
     $user = new User(UserId::next(), 'user', 20);
     $this->visitTest(Criteria::eq($user), function () use($user) {
         return $this->createQueryBuilder()->field('id')->equals($user->id()->toNative());
     });
     $this->visitTest(Criteria::property('id')->eq($user->id()), function () use($user) {
         return $this->createQueryBuilder()->field('id')->equals($user->id()->toNative());
     });
     $this->logicExceptionTest(Criteria::callback(function () {
     })->eq(10));
     $this->logicExceptionTest(Criteria::property('foo')->eq(Criteria::property('bar')));
 }
Example #8
0
 /**
  * Test eq.
  */
 public function testEq()
 {
     $this->binaryConstraintTest(Criteria::eq(5), Equal::class, 5);
 }
Example #9
0
 public function testKeys()
 {
     $this->given($collection = $this->emptyCollection())->then()->variable($collection->keys()->findOne(Criteria::eq('foo')))->isNull()->variable($collection->keys()->findOne(Criteria::eq('bar')))->isNull()->and()->when($collection->set('foo', 12))->and($collection->set('bar', 'baz'))->then()->variable($collection->keys()->findOne(Criteria::eq('foo')))->isNotNull()->variable($collection->keys()->findOne(Criteria::eq('bar')))->isNotNull();
 }