2 namespace Doctrine\Tests\Common\Collections;
4 use Doctrine\Common\Collections\ExpressionBuilder;
5 use Doctrine\Common\Collections\Expr\Comparison;
6 use Doctrine\Common\Collections\Expr\CompositeExpression;
11 class ExpressionBuilderTest extends \PHPUnit_Framework_TestCase
15 public function setUp()
17 $this->builder = new ExpressionBuilder();
20 public function testAndX()
22 $expr = $this->builder->andX($this->builder->eq("a", "b"));
24 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\CompositeExpression", $expr);
25 $this->assertEquals(CompositeExpression::TYPE_AND, $expr->getType());
28 public function testOrX()
30 $expr = $this->builder->orX($this->builder->eq("a", "b"));
32 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\CompositeExpression", $expr);
33 $this->assertEquals(CompositeExpression::TYPE_OR, $expr->getType());
36 public function testInvalidAndXArgument()
38 $this->setExpectedException("RuntimeException");
39 $this->builder->andX("foo");
42 public function testEq()
44 $expr = $this->builder->eq("a", "b");
46 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
47 $this->assertEquals(Comparison::EQ, $expr->getOperator());
50 public function testNeq()
52 $expr = $this->builder->neq("a", "b");
54 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
55 $this->assertEquals(Comparison::NEQ, $expr->getOperator());
58 public function testLt()
60 $expr = $this->builder->lt("a", "b");
62 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
63 $this->assertEquals(Comparison::LT, $expr->getOperator());
66 public function testGt()
68 $expr = $this->builder->gt("a", "b");
70 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
71 $this->assertEquals(Comparison::GT, $expr->getOperator());
74 public function testGte()
76 $expr = $this->builder->gte("a", "b");
78 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
79 $this->assertEquals(Comparison::GTE, $expr->getOperator());
82 public function testLte()
84 $expr = $this->builder->lte("a", "b");
86 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
87 $this->assertEquals(Comparison::LTE, $expr->getOperator());
90 public function testIn()
92 $expr = $this->builder->in("a", array("b"));
94 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
95 $this->assertEquals(Comparison::IN, $expr->getOperator());
98 public function testNotIn()
100 $expr = $this->builder->notIn("a", array("b"));
102 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
103 $this->assertEquals(Comparison::NIN, $expr->getOperator());
106 public function testIsNull()
108 $expr = $this->builder->isNull("a");
110 $this->assertInstanceOf("Doctrine\Common\Collections\Expr\Comparison", $expr);
111 $this->assertEquals(Comparison::IS, $expr->getOperator());