public function testCanUseOrPredicateAndAndPredicateMethods() { $predicateSet = new PredicateSet(); $predicateSet->orPredicate(new IsNull('foo'))->andPredicate(new IsNull('bar'))->orPredicate(new IsNull('baz'))->andPredicate(new IsNull('bat')); $parts = $predicateSet->getExpressionData(); $this->assertEquals(7, count($parts)); $this->assertNotContains('OR', $parts[1], var_export($parts, 1)); $this->assertContains('AND', $parts[1]); $this->assertContains('OR', $parts[3]); $this->assertNotContains('AND', $parts[3]); $this->assertNotContains('OR', $parts[5]); $this->assertContains('AND', $parts[5]); }