public function testAssemble()
 {
     $expression = DecrementExpression::create(FieldSelectExpression::create('new_field'), 0);
     $this->assertEquals('new_field - 0', QueryAssembler::stringify($expression));
     $expression->setDecrementValue('abc');
     $this->assertEquals('new_field - 0', QueryAssembler::stringify($expression));
     $expression->setDecrementValue('1');
     $this->assertEquals('new_field - 1', QueryAssembler::stringify($expression));
     $expression->setDecrementValue(1);
     $this->assertEquals('new_field - 1', QueryAssembler::stringify($expression));
 }
예제 #2
0
 protected function _getCounterValue(QlDao $dao, $field, $value)
 {
     $newValue = $dao->{$field};
     if ($newValue instanceof Counter) {
         if ($newValue->isIncrement()) {
             $value = IncrementExpression::create($field, $newValue->getIncrement());
         } elseif ($newValue->isDecrement()) {
             $value = DecrementExpression::create($field, $newValue->getDecrement());
         } elseif ($newValue->isFixedValue()) {
             $value = NumericExpression::create($newValue->calculated());
         }
     }
     return $value;
 }