public function testAssemble() { $this->assertEquals('', QueryAssembler::stringify(PredicateSet::create())); $eq = new EqualPredicate(); $eq->setField("first")->setExpression(ValueExpression::create('val1')); $neq = new NotEqualPredicate(); $neq->setField("second")->setExpression(ValueExpression::create('val1')); $set = PredicateSet::create($eq, $neq); $this->assertEquals('(first = "val1" AND second <> "val1")', QueryAssembler::stringify($set)); }
public function testAssemble() { $clause = new WhereClause(); $eq = new EqualPredicate(); $eq->setField('one')->setExpression((new StringExpression())->setValue('val')); $clause->addPredicate($eq); $this->assertEquals('WHERE one = "val"', QueryAssembler::stringify($clause)); $eq = new GreaterThanPredicate(); $eq->setField('two')->setExpression((new NumericExpression())->setValue(5)); $clause->addPredicate($eq); $this->assertEquals('WHERE one = "val" AND two > 5', QueryAssembler::stringify($clause)); }
public function testAssemble() { $clause = new SetClause(); $eq = new EqualPredicate(); $eq->setField('one')->setExpression((new StringExpression())->setValue('val')); $clause->addPredicate($eq); $this->assertEquals('SET one = "val"', QueryAssembler::stringify($clause)); $inc = new EqualPredicate(); $inc->setField('two')->setExpression(IncrementExpression::create('two', 5)); $clause->addPredicate($inc); $this->assertEquals('SET one = "val", two = two + 5', QueryAssembler::stringify($clause)); }
public function testAssemble() { $clause = new FinalAbstractPredicateClause(); $eq = new EqualPredicate(); $string = (new StringExpression())->setValue('val'); $eq->setField('one')->setExpression($string); $neq = new NotEqualPredicate(); $neq->setField('two')->setExpression($string); $clause->addPredicate($eq); $this->assertEquals('T one = "val"', QueryAssembler::stringify($clause)); $clause->clearPredicates(); $clause->setPredicates([$eq, $neq]); $this->assertEquals('T one = "val" AND two <> "val"', QueryAssembler::stringify($clause)); }
public function testAssemble() { $predicate = new EqualPredicate(); $predicate->setField('field'); $this->assertEquals('field IS NULL', QueryAssembler::stringify($predicate)); $predicate->setExpression((new NumericExpression())->setValue(1)); $this->assertEquals('field = 1', QueryAssembler::stringify($predicate)); $predicate->setExpression((new NumericExpression())->setValue('1')); $this->assertEquals('field = 1', QueryAssembler::stringify($predicate)); $predicate->setExpression((new StringExpression())->setValue('abc')); $this->assertEquals('field = "abc"', QueryAssembler::stringify($predicate)); $predicate = EqualPredicate::create('field', null); $this->assertEquals('field IS NULL', QueryAssembler::stringify($predicate)); $predicate = EqualPredicate::create('field', 1); $this->assertEquals('field = 1', QueryAssembler::stringify($predicate)); $predicate = EqualPredicate::create('field', '1'); $this->assertEquals('field = "1"', QueryAssembler::stringify($predicate)); $predicate = EqualPredicate::create('field', 'abc'); $this->assertEquals('field = "abc"', QueryAssembler::stringify($predicate)); }
public function testGetData() { $datastore = new MockCqlDataStore(); $connection = new MockCqlConnection(); $connection->setConfig('keyspace', 'packaged_dal'); $datastore->setConnection($connection); $connection->setResolver(new DalResolver()); $dao = new MockCqlDao(); $dao->id = 'test1'; $dao->id2 = 5555; $dao->username = '******'; $datastore->save($dao); $eq = new EqualPredicate(); $eq->setField('id'); $eq->setExpression(ValueExpression::create('test1')); $d = $datastore->getData(QueryBuilder::select()->from($dao->getTableName())->where($eq)); $testDao = new MockCqlDao(); $testDao->hydrateDao($d[0], true); $testDao->markDaoAsLoaded(); $testDao->markDaoDatasetAsSaved(); $this->assertEquals($dao, $testDao); }