public function testAddingSubPredicate() { $pred = new Predicate(); $pred->where('name', '==', 'hannah')->andWhere(function ($query) { $query->where('age', '<', 20)->orWhere('age', '>', 30); }); $this->assertEquals(array(array(false, 'name', '==', 'hannah'), array('and', array(array(false, 'age', '<', 20), array('or', 'age', '>', 30)))), $pred->getAll()); }