Exemplo n.º 1
0
 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));
 }
Exemplo n.º 2
0
 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));
 }
Exemplo n.º 3
0
 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));
 }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
 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);
 }