public function testCheckBinaryFilter()
 {
     $filter = new BinaryFilter(null, null, null);
     $this->assertNotNull($filter, 'Default $filter');
     $this->assertNull($filter->getLeft(), 'Default BinaryFilter->getFilter');
     $this->assertNull($filter->getOperator(), 'Default BinaryFilter->getOperator');
     $this->assertNull($filter->getRight(), 'Default BinaryFilter->getRight');
     $left = new UnaryFilter(null, null);
     $operator = 'foo';
     $right = new ConstantFilter(null, EdmType::STRING);
     $filter = new BinaryFilter($left, $operator, $right);
     $this->assertEquals($left, $filter->getLeft(), 'Set BinaryFilter->getLeft');
     $this->assertEquals($operator, $filter->getOperator(), 'Set BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'Set BinaryFilter->getRight');
     // Now check the factory.
     $filter = Filter::applyAnd($left, $right);
     $this->assertEquals($left, $filter->getLeft(), 'and factory BinaryFilter->getLeft');
     $this->assertEquals('and', $filter->getOperator(), 'and factory BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'and factory BinaryFilter->getRight');
     $filter = Filter::applyEq($left, $right);
     $this->assertEquals($left, $filter->getLeft(), 'eq factory BinaryFilter->getLeft');
     $this->assertEquals('eq', $filter->getOperator(), 'eq factory BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'eq factory BinaryFilter->getRight');
     $filter = Filter::applyGe($left, $right);
     $this->assertEquals($left, $filter->getLeft(), 'ge factory BinaryFilter->getLeft');
     $this->assertEquals('ge', $filter->getOperator(), 'ge factory BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'ge factory BinaryFilter->getRight');
     $filter = Filter::applyGt($left, $right);
     $this->assertEquals($left, $filter->getLeft(), 'gt factory BinaryFilter->getLeft');
     $this->assertEquals('gt', $filter->getOperator(), 'gt factory BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'gt factory BinaryFilter->getRight');
     $filter = Filter::applyLe($left, $right);
     $this->assertEquals($left, $filter->getLeft(), 'le factory BinaryFilter->getLeft');
     $this->assertEquals('le', $filter->getOperator(), 'le factory BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'le factory BinaryFilter->getRight');
     $filter = Filter::applyLt($left, $right);
     $this->assertEquals($left, $filter->getLeft(), 'lt factory BinaryFilter->getLeft');
     $this->assertEquals('lt', $filter->getOperator(), 'lt factory BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'lt factory BinaryFilter->getRight');
     $filter = Filter::applyNe($left, $right);
     $this->assertEquals($left, $filter->getLeft(), 'ne factory BinaryFilter->getLeft');
     $this->assertEquals('ne', $filter->getOperator(), 'ne factory BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'ne factory BinaryFilter->getRight');
     $filter = Filter::applyOr($left, $right);
     $this->assertEquals($left, $filter->getLeft(), 'or factory BinaryFilter->getLeft');
     $this->assertEquals('or', $filter->getOperator(), 'or factory BinaryFilter->getOperator');
     $this->assertEquals($right, $filter->getRight(), 'or factory BinaryFilter->getRight');
 }
示例#2
0
 /**
  * @covers WindowsAzure\Table\Models\Filters\Filter::applyLt
  * @covers WindowsAzure\Table\Models\Filters\Filter::applyPropertyName
  * @covers WindowsAzure\Table\Models\Filters\Filter::applyQueryString
  */
 public function testApplyLt()
 {
     // Setup
     $left = Filter::applyPropertyName('test');
     $right = Filter::applyQueryString('raw string');
     // Test
     $actual = Filter::applyLt($left, $right);
     // Assert
     $this->assertEquals($left, $actual->getLeft());
     $this->assertEquals($right, $actual->getRight());
 }
 private static function getBinaryFilterFromIndex($index, $f1, $f2)
 {
     switch ($index) {
         case 0:
             return Filter::applyEq($f1, $f2);
         case 1:
             return Filter::applyGe($f1, $f2);
         case 2:
             return Filter::applyGt($f1, $f2);
         case 3:
             return Filter::applyLe($f1, $f2);
         case 4:
             return Filter::applyLt($f1, $f2);
         case 5:
             return Filter::applyNe($f1, $f2);
         default:
             return null;
     }
 }