public function testGettersAndSetters() { $predicate = new BetweenPredicate(); $predicate->setValues((new NumericExpression())->setValue(1), (new NumericExpression())->setValue(5)); $this->assertEquals([(new NumericExpression())->setValue(1), (new NumericExpression())->setValue(5)], $predicate->getRangeValues()); $this->assertEquals((new NumericExpression())->setValue(1), $predicate->getRangeStart()); $this->assertEquals((new NumericExpression())->setValue(5), $predicate->getRangeEnd()); $predicate->setField('test'); $this->assertEquals(FieldExpression::create('test'), $predicate->getField()); }
public function testBetween() { $predicate = new NotBetweenPredicate(); $predicate->setField('field'); $predicate->setValues((new NumericExpression())->setValue(1), (new NumericExpression())->setValue(5)); $this->assertEquals('"field" <= 1 AND "field" >= 5', CqlAssembler::stringify($predicate)); $predicate = new BetweenPredicate(); $predicate->setField('field'); $this->assertEquals('"field" >= NULL AND "field" <= NULL', CqlAssembler::stringify($predicate)); $predicate->setValues((new NumericExpression())->setValue(1), (new NumericExpression())->setValue(5)); $this->assertEquals('"field" >= 1 AND "field" <= 5', CqlAssembler::stringify($predicate)); $predicate->setValues((new NumericExpression())->setValue('1'), (new NumericExpression())->setValue('5')); $this->assertEquals('"field" >= 1 AND "field" <= 5', CqlAssembler::stringify($predicate)); $predicate->setValues((new StringExpression())->setValue('abc'), (new StringExpression())->setValue('def')); $this->assertEquals('"field" >= \'abc\' AND "field" <= \'def\'', CqlAssembler::stringify($predicate)); $set = new PredicateSet(); $set->addPredicate($predicate); $set->addPredicate(BetweenPredicate::create('field2', 123, 456)); $this->assertEquals('"field" >= \'abc\' AND "field" <= \'def\' AND "field2" >= 123 AND "field2" <= 456', CqlAssembler::stringify($set)); }