public function testFilterSetsModelValues() { $subGroup = new Group("And"); $subGroup->addFilters(new Equals("Forename", "Andrew"), new GreaterThan("DateOfBirth", 18)); $andGroup = new Group("And"); $andGroup->addFilters(new Equals("CompanyID", 1), new Equals("Surname", "Cuthbert"), $subGroup); $orGroup = new Group("Or"); $orGroup->addFilters(new Equals("CompanyID", 1), new Equals("Surname", "Cuthbert"), $subGroup); $model = new Example(); $andGroup->setFilterValuesOnModel($model); $this->assertEquals(1, $model->CompanyID); $this->assertEquals("Cuthbert", $model->Surname); $this->assertEquals("Andrew", $model->Forename); $model = new Example(); $orGroup->setFilterValuesOnModel($model); $this->assertNotEquals(1, $model->CompanyID); $this->assertNotEquals("Cuthbert", $model->Surname); $this->assertNotEquals("Andrew", $model->Forename); }